gpt4 book ai didi

.net - 从代码后面强制回发?或者从异步回发重新加载 JavaScript?

转载 作者:行者123 更新时间:2023-12-02 20:38:59 26 4
gpt4 key购买 nike

我有一个 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

因此,在完整回发时,该值确实会发生变化。

最佳答案

我听起来更像是 html 被更新面板取代,并且您的 jQuery 选择器没有绑定(bind)到新元素。

尝试对所有事件使用 .Live,或在 ajax 更新后重新绑定(bind)(您可以为此使用 UpdatePanel 插件)

关于.net - 从代码后面强制回发?或者从异步回发重新加载 JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2791539/

26 4 0