单击ajax响应HTML的提交按钮时不提交表单

时间:2012-10-12 11:16:33

标签: php jquery ajax

我在php中使用jquery进行ajax调用,并且我得到了相同的结果,但是在结果的(响应)HTML中我有一个表单在单击提交按钮后没有提交。我没有得到同样的任何错误。 另外,我想在不使用Ajax的情况下提交此响应HTML表单。 请帮我解决这个问题。

Ajax响应:

<form method=\"post\" id=\"clientlist\" action=\"addclients.php\">
  //inputs fileds...
</form>

Ajax Call:

var $j = jQuery.noConflict();
$j(document).ready(function(){
   $j(".linktext").click(function(){ 

   //check which link is tobe click e.g. Prev or Next
   var link = $j(this).html();
   var limit = 1;
   if(link == 'Prev'){
     limit = document.getElementById('text_prev').value;
   }else if(link =='Next'){ 
     limit = document.getElementById('text_next').value;
   }

   $j.ajax({
     type: "POST",
     data: $j("#clientlist").serialize(),
     url: "agencyclients_ajax.php?start="+limit,
     success: function(response) {
       $j('#mainbody').html(response);
     }
  });
 });

4 个答案:

答案 0 :(得分:0)

请使用表单的SUBMIT事件。 当您单击提交时,只需执行ajax调用,然后返回false以确保不以正常方式提交表单。

目前您正在使用链接点击事件//not encouraged.

对于jquery没有冲突,请使用以下代码:

(function($){
   $(function(){
      //$ can be used in this area without any conflict, provided by jQuery Docs for creating a plugin
   });
})(jQuery);

答案 1 :(得分:0)

将ajax响应更改为:

<form method="post" id="clientlist" action="addclients.php">
  //inputs fileds...
</form>

删除斜杠。

答案 2 :(得分:0)

这是因为事件处理程序在重新加载后不会添加到“.linktext”。

您可以使用JQuery On函数,以便在DOM更改时重新应用事件处理程序。

http://api.jquery.com/on/

$j(".linktext").click(function(){

变为

$j(".linktext").on("click", function(event){

答案 3 :(得分:0)

这是一个例子。将$('#submit')替换为您的提交按钮ID。

$('#submit').click(function(){
     $.ajax({
         type:'POST',
         url: '/search.php',
         data: $j("#clientlist").serialize(),
         success: function(data){
            alert('sent');
         }
     });
return false;
});