1

送信ボタンをクリックすると:

  • 最初 : 新しいウィンドウを開いてプロセスを表示します (ajax 呼び出しによる)
  • 2 番目 : 現在のフォームを送信 (処理に時間がかかるジョブ)

    送信をクリックすると、次の JQuery 関数が呼び出されます。

    function submitForm(){
        window.open('displayGetStatus.action?id=' + p_id ); 
        $("#frmStartSomeTask").attr("action","executeDatabaseOperation.action").submit();
    }
    

    結果: 2 番目のウィンドウが開かれ、プロセスの開始を待機していますが、最初のウィンドウのフォームが送信されないため、プロセスは開始されません。

    どうすればこれを入手できますか?

    前もって感謝します。

  • 4

    2 に答える 2

    2

    window.openフォームの に呼び出しを追加しますonsubmit。純粋なJSで...

    document.getElementById(frmStartSomeTask).onsubmit = function () {
        window.open('displayGetStatus.action?id=' + p_id ); 
    }
    

    必要に応じて、jQuery 用にこれを変更できます。

    $("#frmStartSomeTask").submit(function () {
        window.open('displayGetStatus.action?id=' + p_id ); 
    }
    
    于 2012-12-10T13:41:56.267 に答える
    0

    では、ウィンドウを開いてからフォームを送信しますか?

    その場合、送信機能が正しく表示されません。プレーンなJavascriptを使用してフォームを送信するのは実際には非常に簡単です...

    function submitForm() {
        window.open('displayGetStatus.action?id=' + p_id );  
        document.getElementById("frmStartSomeTask").submit();
    }
    
    于 2012-12-10T13:44:25.503 に答える