Вот что я хочу сделать -Как поместить обратный вызов в прослушиватель событий отправки формы, чтобы дождаться ответа пользователя на приглашение jquery impromptu?
- выводил запрос (с использованием экспромтом Jquery), когда пользователь нажимает на кнопку отправки главной формы. Приглашение снова представляет собой форму, в которой есть поле пароля и кнопка «ОК» и «Отмена».
- Основная форма (вместе с паролем, добавленная к основной форме) публикуется, когда пользователь нажимает кнопку «ОК».
- Форма не отправляется, если пользователь нажимает кнопку «Отмена».
Подробности
я задал вопрос ранее - jquery form submit() not working inside callback function after preventing normal submit while using impromptu
и смог успешно осуществить то, что я хотел с использованием нативного оперативного метода JavaScript. Но я хочу сделать то же самое, используя импровизированный плагин jquery.
Вот рабочий код, используя родной яваскрипта строки -
$('#frmAddAdnetworkTemplate').submit(function(event){
promptText = "Password required";
postedPassword = prompt(promptText);
if(postedPassword)
{
$("form#frmAddAdnetworkTemplate").find("input#manage_adnetwork_password").val(postedPassword);
}
else
{
event.preventDefault();
}
});
А вот код, который я, хотя до сих пор с помощью экспромтом -
$('#frmAddAdnetworkTemplate').submit(callBackSubmit);
function callBackSubmit(event){
$.prompt(passwordForm,{ buttons: { Ok: true, Cancel: function(){event.preventDefault(); } }, submit: submitPasswordPrompt});
//how do I call event.preventDefault(); when user cancel’s.
//The form gets submitted anayway, it does not wait for the code inside submitPasswordPrompt() to execute. How do I put some callback and make the submit event listener to wait until the user clicks Ok or Cancel?
}
function submitPasswordPrompt(e, value,m,form)
{
if(value)
{
$("form#frmAddAdnetworkTemplate").find("input#manage_adnetwork_password").val(postedPassword);
//append the password value in the main form
}
}
Но форма получает представленный в любом случае, и я не являюсь как сделать какой-то обратный вызов, чтобы предотвратить представление, пока не ответит на импровизированное приглашение. Он не ждет, как в случае наивного запроса javascript.
Также обратите внимание, что я уже пробовал использовать event.preventDefault в начале и form.submit() позже в моем предыдущем вопросе jquery form submit() not working inside callback function after preventing normal submit while using impromptu. Но в этом случае форма просто не отправляется (ошибка javascript не отображается). Посмотрите, можете ли вы ответить на это.
Анонимная функция, переданная в свойство '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' 'не имеет никакой переменной" event ", определяющей ее область видимости. Используйте 'console.log (event);' для отладки переменной события. – Stefan