繁体   English   中英

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

[英]form is not submit when click on submit button of ajax response HTML

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

Ajax响应:

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

Ajax电话:

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);
     }
  });
 });

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

现在,您正在使用链接CLICK事件//not encouraged.

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

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

将ajax响应更改为:

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

删除斜线。

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

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

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

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

变成

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM