我的<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);
答案 0 :(得分:1)
尝试
$('#submitstudents').click(function(){
showConfirm();
});
编辑:
你的脚本应该有效。将functions
事件handler
和click
放在$(document).ready(function(){ //Code goes here });
内。
还要确保jquery
库已链接。