我试图让beforesubmit选项工作,所以我可以在提交之前验证表单。我肯定错过了什么。这样运行正常,但它完全忽略了功能。
$(document).ready(function() {
var options = {
beforesubmit: function() {
var subjectTxtVal = $('input[name=subjectTxt]').fieldValue();
var messageTxtVal = $('input[name=messageTxt]').fieldValue();
if (!subjectTxtVal[0] || !messageTxtVal[0]) {
alert('Please enter a value for subject and message');
return false;
}
},
target: '#results',
success: showResponse
};
$('#results').dialog({autoOpen: false, modal: true, buttons: {
Ok: function() {
$( this ).dialog( "close" );
}
}});
$('#resemail').submit(function() {
$(this).ajaxSubmit(options);
$('#results').dialog('open');
return false;
});
});
根据我对firebug的测试,我看不出它实际调用函数的位置。我查看了文档和示例,但有些令人困惑。有什么想法吗?
感谢。
答案 0 :(得分:1)
为什么不在提交之前自己验证而不是依赖插件?
$(document).ready(function() {
var options = {
target: '#results',
success: showResponse
};
$('#results').dialog({autoOpen: false, modal: true, buttons: {
Ok: function() {
$( this ).dialog( "close" );
}
}});
$('#resemail').submit(function() {
if( validate_fields() )
{
$(this).ajaxSubmit( options );
}
else
return false;
});
});
function validate_fields()
{
var subjectTxtVal = $('input[name=subjectTxt]').fieldValue();
var messageTxtVal = $('input[name=messageTxt]').fieldValue();
if (!subjectTxtVal[0] || !messageTxtVal[0]) {
alert('Please enter a value for subject and message');
return false;
}
return true;
}