2014-10-29 42 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