2014-10-29 39 views
-1

我使用完全相同的JQuery/Ajax調用其他表單工作正常,所以我完全不知道爲什麼這不是爲我的第三個表單在這個頁面上工作。也許你知道這可能是什麼。使用triggerHandler爲Ajax請求指定表單數據

我想爲需要發送的表單做一個Ajax請求。

這裏是我的index.php它包括以下形式:

<div id="addSmurfForm" class="full_w"> 
    <div class="h_title">Add new smurfs - PHP Loader</div> 
    <form name="form" id="test" method="post"> 

     <div class="element"> 
      <select name="accounttype" id="accounttype" class="required"> 
       <option value="gifting" selected="selected">Gifting accounts</option> 
       <option value="fullip">Full IP accounts</option> 
      </select> 
     </div> 

     <div class="element"> 
      <label for="priority">Accounts <span class="red">(required)</span></label> 
      <textarea class="text required" name="accountData" id="accountData" placeholder="<?php echo $deintext="tenur2es67|Tbuvp928|EUW|54469c27c687b332339627\nkibbutzm65|K5ph88|EUW|54469ba0dec3e703865612"; ?>" style="height: 250px;"></textarea> 
     </div> 

     <div id="sendOrder" class="entry"> 
      <button type="submit" id="addSmurfsbtn" class="add">Load Accounts</button> 
      <button id="resetbtn" class="cancel">Reset</button> 
     </div> 
     <div id="addSmurfsResult"> 
     </div> 
    </form> 
</div> 

我的JQuery/Ajax請求:

$("#addSmurfsbtn").click(function(event) { 
    event.preventDefault(); 

    var form_data = $("#test").triggerHandler("submitForm"); 
    if (form_data) { 
     $.ajax({ 
      type: "POST", 
      url: "includes/loadsmurfs.php", 
      data: form_data, 
      success: function(data) { 
       $('#addSmurfsResult').append(data).hide().slideDown("slow"); 
       //alertify.alert("Done"); 
      } 
     }); 
    } 
}); 

我loadsmurfs.php:

<?php 
    echo "test"; 
?> 

當我試圖警告「form_data」它警告「未定義」,所以我認爲問題是將form_data分配給我的變量,b我找不到這個錯誤。我真的希望你能幫助我,我現在正在爲此掙扎2個小時。

+0

使用'而不是submit''submitForm' – vaso123 2014-10-29 17:00:46

+0

沒有區別:( – kentor 2014-10-29 17:05:56

回答

1

您沒有submitFormsubmit處理程序定義。下面應該這樣做:

$("#addSmurfsbtn").click(function(event) { 
    event.preventDefault(); 
    $("#test").triggerHandler('submit'); 
}); 
$('#test').on('submit', function() { 
     $.ajax({ 
      type: "POST", 
      url: "includes/loadsmurfs.php", 
      data: $(this).serialize(), 
      success: function(data) { 
       $('#addSmurfsResult').append(data).hide().slideDown("slow"); 
       //alertify.alert("Done"); 
      } 
     }); 
}); 

特別注意

它始終是最好讓表單中的submit按鈕做它的目的是做的,但因爲你沒有一個提交按鈕,你只需要觸發提交事件當目標按鈕被點擊

$("#addSmurfsbtn").click(function(event) { 
    event.preventDefault(); 
    $("#test").submit(); 
}); 
$('#test').on('submit', function() { 
    //.... 
}); 
+0

仍與分配問題form_data:/。 http://puu.sh/cv8Hf/7d0e35fe1a.png這裏是Google Chrome說的照片。 – kentor 2014-10-29 17:20:41

+0

檢查更新。 – PeterKA 2014-10-29 17:24:06

+0

非常感謝您的努力! – kentor 2014-10-29 17:29:55