ユーザーがフォームの送信ボタンをクリックしたときに、フォームを送信する代わりにパスワード プロンプトを表示しています。ユーザーがプロンプトの「OK」ボタンをクリックしたときにフォームを送信したい。jquery impromptu プラグインを使用しています (バージョン 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
}
ただし、フォームは送信されません。
Trial 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 ドキュメント document .ready 内で $.prompt を呼び出して、送信ボタンのクリック イベントでバインドしてみました -
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
