我有一个 Jquery UI 对话框,在填写表格后弹出确认项目的创建。由于表单的各种需求,我在更新面板中有表单,特别是因为我希望在不重新加载页面的情况下对表单进行验证。
JavaScript 似乎不会在异步回发时重新加载。这意味着当表单成功并且我将变量“formSubmitPass”更改为 true 时,它不会通过 <%= formSubmitPass %> 传递给 Javascript。如果我在提交按钮上添加一个触发器来进行完整的回发,它就可以工作。但是,我不希望提交按钮像我所说的那样进行完整的回发,这样我就可以在更新面板中验证表单。
我怎样才能让我的表单异步验证,但是当表单成功完成并将项目保存到数据库时,我的 JavaScript 将正确重新加载?
Javascript:
var formSubmitPass = '<%= formSubmitPass %>';
var redirectUrl = '<%= redirectUrl %>';
function pageLoad() {
$('#formPassBox').dialog({
autoOpen: false,
width: 400,
resizable: false,
modal: true,
draggable: false,
buttons: {
"Ok": function() {
window.location.href = redirectUrl;
}
},
open: function(event, ui) {
$(".ui-dialog-titlebar-close").hide();
var t = window.setTimeout("goToUrl()", 5000);
}
});
if(formSubmitPass == 'True')
{
$('#formPassBox').dialog({
autoOpen: true
});
}
那么如何从后面的代码强制回发,或者在异步回发上重新加载 JavaScript,或者以一种可以继续进行异步表单验证的方式执行此操作?
编辑:我在后面代码的最后更改了 formSubmitPass:
If errorCount = 0 Then
formSubmitPass = True
upForm.Update()
Else
formSubmitPass = False
End If
因此,在完整的回发中,值确实发生了变化。