簡単
に言えば、ユーザーが「OK」ボタンをクリックした後、非同期サーバー側の検証(AJAXを使用)を実行したいと考えています。検証に失敗した場合は、プロンプトを閉じずにエラー メッセージを表示したいと考えています。
詳細
Impromptu バージョン 3.1 を使用しています。3.1 のドキュメントが見つからなかったので、バージョン 4.0.1 のドキュメントで、これを行うには 2 つの方法があることを確認しました -
プロンプトを開いたままにするには、false または event.preventDefault() を返します
古いバージョンを使用しているため、このような関数内でイベント変数を使用できないことを確認しました-
$.prompt('Example 2',{ buttons: { Ok: true, Cancel: false }, submit: submitCertificationPrompt } });
function submitCertificationPrompt(e,v,m,f)
{
//e is not available in case of version 3.0.1
}
バージョン 3.1 プラグイン コードで行ったカスタマイズがいくつかあるため、現在最新バージョンにアップグレードできません。
だから、私はreturn false
道を使うことを余儀なくされています。これが機能することを確認しました-
$.prompt('Example 2',{ buttons: { Ok: true, Cancel: false }, submit: submitCertificationPrompt } });
function submitCertificationPrompt()
{
return false;
}
しかし、AJAX応答が受信されるまで待たなければならないので、このようなjavascriptコールバック関数を使用してみましたが、期待どおりに動作しません -
$.prompt('Example 2',{ buttons: { Ok: true, Cancel: false }, submit: function(){ submitCertificationPrompt(function(bool){ return bool; }) } });
function submitCertificationPrompt(callback)
{
//I will do an AJAX call here and the prompt should stay open if the response reads validation error. So, I will callback false in that case
callback(false);
}
助けてください...