Я показываю запрос пароля вместо отправки формы, когда пользователь нажимает кнопку отправки формы. Я хочу, чтобы форма отправлялась, когда пользователь нажимает кнопку «ОК» в приглашении. Я использую импровизированный плагин jquery (пробовал как с версией 3.1, так и с версией 4.0.1). Я спешу и не понимаю, что не так с моим кодом, или я что-то полностью упускаю.
Вот мой код -
Пробная версия 1
HTML-часть
<form name="frmAddAdnetworkTemplate" id="frmAddAdnetworkTemplate" action="someAction">
...
...
<input id="submit" type="submit" name="submit" value="Submit" onclick="return promptPassword();" />
</form>
Часть JavaScript
function promptPassword()
{
/*prepared passwordForm = some html; here */
$.prompt(passwordForm,{ buttons: { Ok:, Cancel: false , submit: }, callback: submitPasswordPrompt, focus: 1});
return false; //so as to not submit the form
}
function submitPasswordPrompt(value,m,form)
{
$("form#frmAddAdnetworkTemplate").submit(); //this does not work - no js error as well
}
Но форма не отправляется.
Пробная версия 1.1 Вместо вызова submitPasswordPrompt при отправке
function promptPassword()
{
$.prompt(passwordForm,{ buttons:
{ Ok: $("#frmAddAdnetworkTemplate").submit(), //this too does not work
Cancel: false },
focus: 1
});
}
Пробная версия 1.2
Я пробовал с preventDefault() -
HTML-часть
<input id="submit" type="submit" name="submit" value="Submit" onclick="promptPassword(event);"/>
Часть JavaScript
function promptPassword(e)
{
e.preventDefault();
$.prompt(passwordForm,{ buttons: { Ok: true, Cancel: false }, submit: submitPasswordPrompt});
function submitPasswordPromptTest(e, value,m,form)
{
if(value)
{
$("#frmAddAdnetworkTemplate").submit(); //does not work
}
}
Пробная версия 2. Я также попытался вызвать $.prompt внутри документа document .ready, привязав его к событию click на кнопке отправки.
HTML-часть
<input id="submit" type="submit" name="submit" value="Submit" />
Часть JavaScript
$("#submit").click(function(){
$.prompt(passwordForm,{ buttons: { Ok: $("#frmAddAdnetworkTemplate").submit(), Cancel: false }});
return false;
});
Получил эту ошибку, когда попробовал $("#frmAddAdnetworkTemplate").off('submit').submit(); -
e[h] is not a function
action
формы, чтобы избежать путаницы в будущем. - person tvanfosson   schedule 05.03.2012