2013-11-04 30 views
0

我无法提交表单。我哪里错了?jQuery表单不提交

<div> 
    <form id = "search_form" action = "/dashboard/" method = "post"> 
     <span class = "pull-right"> 
     Search : <input type = "text" placeholder = "Search" id = "search"> 
     </span> 
    </form> 
</div> 

jQuery的

$("#search_form").submit(function(event) { 
    event.preventDefault(); 
    var formdata = $(this).serialize(); 
    alert(formdata); 
    $.ajax({ 
     type: "POST", 
     url: "gallery.php", 
     data: formdata, 
     success: function(){alert('success');} 
    }); 
}); 

一旦提交,流不进入jQuery的功能。为什么?

+0

如何提交 –

+0

我没有得到任何错误的形式。 –

+0

流程不会进入jQuery功能。当我按回车键时,表单被提交。页面刷新但不会弹出警报。 –

回答

1

尝试:

$(function() { 
    $("#search_form").submit(function(event) { 
     event.preventDefault(); 
     var formdata = $(this).serialize(); 
     alert(formdata); 
     $.ajax({ 
      type: "POST", 
      url: "gallery.php", 
      data: formdata, 
      success: function(){alert('success');} 
     }); 
    }); 
}); 

一切正常:http://jsfiddle.net/J6e4G/

+0

工作。谢谢。但为什么它没有提交之前。我的意思是'$(function(){'有什么好处? –

+0

当文档准备就绪时,将调用'$(...)'内部的函数(否则jQuery无法找到'#search_form'元素) – wachme

2

您还没有给出您的Search字段的名称,因此您没有将值传递给您的gallery.php文件,这可能会导致服务器端错误,因为它需要一个值。

<div> 
    <form id="search_form" action="/dashboard/" method="post"> 
     <span class="pull-right"> 
     Search : <input type="text" placeholder="Search" id="search" name="search"> 
     </span> 
    </form> 
</div> 

注意,我命名领域search,你将需要检查的变量名的PHP文件从POST数据接收,并相应地为其命名。

+0

仍未弹出警报。 –