gpt4 book ai didi

jquery - 提交后未出现确认信息

转载 作者:行者123 更新时间:2023-12-01 08:09:54 25 4
gpt4 key购买 nike

我希望在用户提交表单时显示确认信息。问题是确认没有出现,而只是将表单直接导航到目的地。为什么没有出现确认信息?它甚至在确认之前都不检查验证。

下面是html代码:

<form id='choiceForm' action='assessment.php' method='post'>
<select name='currentperson' id='currentperson'>
<option value=''>Select</option>
<option value='one'>John Trigger</option>
</select>

<p id='submitchoicebtn'><button id='choiceSubmit'>Choose Assessment</button></p>
<div id='currentAlert'></div>
</form>

下面是jquery:

    function choicevalidation() {
var isDataValid = true;
var currentPerson = document.getElementById("currentperson");
var currentPersonMsg = document.getElementById("currentAlert");
currentPersonMsg.innerHTML = "";

if (currentPerson.value == "") {
currentPersonMsg.innerHTML = "Please Select a Person";
isDataValid = false;
}
else {
currentPersonMsg.innerHTML = "";
}
return isDataValid;
}

function showConfirm(){
console.log(choicevalidation());
if (choicevalidation()) {
var confirmMsg = confirm("Are you sure you want to Proceed");
if (confirmMsg == true) {
return true;
} else {
return false;
}
} else
{
return false;
}
}

$('#choiceForm').on('submit', showConfirm);

更新:

下面是我的实际代码,但我收到的问题是这个错误:

Jquery 代码:

    <script type="text/javascript">


function choicevalidation() {

var isDataValid = true;

var currentAssesO = document.getElementById("currentAssessment");

var currentAssesMsgO = document.getElementById("currentAlert");

currentAssesMsgO.innerHTML = "";


if (currentAssesO.value == ""){
$('#targetdiv').hide();
currentAssesMsgO.innerHTML = "Please Select an Assessment to edit from the Assessment Drop Down Menu";
isDataValid = false;
}else{
currentAssesMsgO.innerHTML = "";
}
return isDataValid;


}


function showConfirm(){

var examInput = document.getElementById('curentAssessment').value;
var dateInput = document.getElementById('currentDate').value;
var timeInput = document.getElementById('currentTime').value;

if (choicevalidation()) {

var confirmMsg=confirm("Are you sure you want to take the following Assessment:" + "\n" + "Exam: " + examInput + "\n" + "Date: " + dateInput + "\n" + "Time: " + timeInput);

if (confirmMsg==true)
{
return true;
}else {
return false;
}
} else{
return false;
}
}

$('#choiceForm').on('submit', showConfirm);


</script>

PHP/HTML 代码:

<?php

// connect to the database


//query which compiles modules drop down menu


$moduleHTML = "";
$moduleHTML .= '<select name="modules" id="modulesDrop">' . PHP_EOL;
$moduleHTML .= '<option value="">Please Select</option>' . PHP_EOL;

while ($sqlstmt->fetch()) {
$moduleHTML .= sprintf('<option value="%1$s_%2$s_%3$s">%1$s - %2$s</option>' . PHP_EOL, $dbModuleNo, $dbModuleName, $dbModuleId);
}

$moduleHTML .= '</select>';

$pHTML = "";


?>

<h1>TAKE AN ASSESSMENT</h1>

<form action="<?php
echo htmlentities($_SERVER['PHP_SELF']);
?>" method="post" onsubmit="return validation(event);">
<table>
<tr>
<th>Module: <?php
echo $moduleHTML;
?></th>
</tr>
</table>
<p><input id="moduleSubmit" type="submit" value="Submit Module" name="moduleSubmit" /></p>
<div id="moduleAlert"></div>
<div id="targetdiv"></div>
</form>

<?php

if (isset($_POST['moduleSubmit'])) {
//query which compiles drop down menu below


$sessionHTML = '<select name="session" id="sessionsDrop">' . PHP_EOL;
$sessionHTML .= '<option value="">Please Select</option>' . PHP_EOL;

while ($sessionqrystmt->fetch()) {
$sessionHTML .= sprintf("<option value='%s'>%s - %s - %s</option>", $dbSessionId, $dbSessionName, date("d-m-Y", strtotime($dbSessionDate)), date("H:i", strtotime($dbSessionTime))) . PHP_EOL;
}


$sessionHTML .= '</select>';


$assessmentform = "<div id='lt-container'>
<form action='" . htmlentities($_SERVER['PHP_SELF']) . "' method='post' id='assessmentForm'>
<p id='warnings'>{$pHTML}</p>
{$outputmodule}
<p><strong>Assessments:</strong> {$sessionHTML} </p>
</form>
</div>";

echo $assessmentform;

$choosesession = "
<div id='rt-container'>
<form id='choiceForm' action='assessment.php' method='post'>

<p><strong>Chosen Assessment:</strong></p>
<table>
<tr>
<th></th>
<td><input type='hidden' id='currentId' name='Idcurrent' readonly='readonly' value='' /> </td>
</tr>
</table>
<p id='submitchoicebtn'><button id='choiceSubmit'>Choose Assessment</button></p>
<div id='currentAlert'></div>
</form>

</div>
";

echo $choosesession;

}



?>

最佳答案

您有语法错误,因此 JS 失败,浏览器正在提交表单。

该行缺少结尾 '"'。

 var confirmMsg=confirm("Are you sure you want to Proceed);

将其更改为:

 var confirmMsg=confirm("Are you sure you want to Proceed");

编辑

更改触发确认的事件。您在“onClick”上触发它,这可能是在表单提交后发生的,将最后一行更改为:

   $('#choiceForm').on('submit', showConfirm);    

这将在执行提交之前触发该框。让我知道这是否适合您。

关于jquery - 提交后未出现确认信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14318450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com