<body>
コードのセクションに単純なボタンがあります。
<p><button id='submitstudents'>Submit Students</button></p>
ボタンをクリックすると、関数を通過してeditvalidation()
エラーがないかどうかを確認し、エラーがない場合は確認ボックスを表示し、ユーザーが確認した場合は ajax を実行する必要があります。
問題はOK
、確認ボックスのボタンをクリックしても何も起こらず、ページがロードされないことです。私の質問はOK
、確認でボタンをクリックした後にページが送信されない原因は何ですか?
エラーコンソールにエラーはありません。
Jquery コード (正しい順序で表示):
検証:
function editvalidation()
{
if ($("#sessionsDrop").val()==""){
$("#studentAlert").html("Please Select an Assessment to edit from the Assessment Drop Down Menu");
}
if ($("#sessionsDrop").val()!="" && $("#studentadd").children().length==0){
$("#studentAlert").html("You have not Selected any Students you wish to Add into Assessment");
}
if ($("#sessionsDrop").val()!="" && $("#studentadd").children().length!=0){
return true;
}
return false;
}
フォームを送信:
function submitform() {
$.ajax({
type: "POST",
url: "updatestudentsession.php",
data: {
sessionid: $('#currentid').val(),
students: $('#addtextarea').val()
},
dataType:'json', //get response as json
success: function(result){
if(result.errorflag){
//do your stuff on getting error message
var newHtml="<span style='color: red'>"+result.msg+"</span>";
$("#targetdiv").html(newHtml); //i am displaying the error msg here
}else{
//you got success message
var newHtml="<span style='color: green'>"+result.msg+"</span>";
$("#targetdiv").html(newHtml);
//append students you want to add to assessment into student exist select box
var selectedStudents = jQuery("select#studentadd").find("option");
selectedStudents.appendTo($("select#studentexist"));
$('option.red', 'select#studentexist').remove();
//blank #studentadd select box
$('#studentadd').empty();
$('#targetdiv').show();
}
}
});
}
確認:
function showConfirm(){
var examInput = document.getElementById('currentAssessment').value;
if (editvalidation()) {
var confirmMsg=confirm("Are you sure you want to add your selected Students to this Assessment:" + "\n" + "Exam: " + examInput);
if (confirmMsg==true)
{
submitform();
}
}
}
ボタンクリック:
$('body').on('click', '#submitstudents', showConfirm);