У меня есть диалоговое окно Jquery UI, которое всплывает, чтобы подтвердить создание элемента после заполнения формы. У меня есть форма на панели обновления из-за различных потребностей формы, и особенно потому, что я хочу, чтобы проверка выполнялась в форме без перезагрузки страницы.
JavaScript не перезагружается при асинхронной обратной передаче. Это означает, что когда форма успешна, и я изменяю переменную formSubmitPass на true, она не передается в Javascript через <% = formSubmitPass%>. Если я добавлю триггер к кнопке отправки, чтобы выполнить полную обратную передачу, это сработает. Однако я не хочу, чтобы кнопка отправки выполняла полную обратную передачу, как я уже сказал, чтобы я мог проверить форму на панели обновлений.
Как мне это сделать, чтобы моя форма проверялась асинхронно, но мой 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
Таким образом, при полной обратной передаче значение действительно меняется.