0

ワンクリックで2つのフォームを送信しようとしています。両方のフォームが送信されているように見えますが、2 番目のフォームへの呼び出し (最初のフォーム ポストのコールバックから) には具体的な結果はありません。これがjavascriptです:NB最初の関数はRecruitment_moduleにあります

this.submit_form = function()
{
  if( check_field_input())
    {                   
    var fname = $('#rec_first_name').val();
    var lname = $('#rec_last_name').val();
    var usr_email = $('#rec_email').val();
    var id = $('input[name="params_id"]').val();
    var x_id = $('input[name="XID"]').val();
    var url = $('#recruitment').attr('action');
    var mainformUrl = $('#recruitmentform').attr('action');

    var poster = $.post( url, {params_id: id, XID: x_id, firstname: fname, lastname: lname,  email: usr_email},
      function(response){
        if (response.success == true) {
            $.post( mainformUrl, $('form#recruitmentform').serialize());
            return true;
            //$('form#recruitmentform').submit();
            } else {
              alert("Error: " + response.errors[0]);
            }
        });
    }
} 

$(document).ready(function () { 
        var rec_mod = new recruitment_module();
        $('#submit_btn').click( function() { return rec_mod.submit_form(); });
    });

スクリプトをデバッグすると、シリアル化関数を使用して 2 番目のフォームを投稿する呼び出しが実際に行われることがわかりますが、ページは投稿されません。何か案は?ありがとう

4

1 に答える 1

1

調べて変更できる実行可能なコードがなければ、これを実際にデバッグすることはできません。このようなものをデバッグする手順は次のとおりです。

  1. mainformUrl同じオリジンのセキュリティ制限によってブロックされないように、ページと同じドメインにあることを確認してください。
  2. エラー コンソールまたはデバッグ コンソールでエラーを確認します。
  3. 成功ハンドラーとエラー ハンドラーの両方を ajax 呼び出しに追加し、どちらが呼び出され、何を意味するかを確認します。
于 2013-02-27T15:56:01.683 に答える