2016-08-23 203 views
0
function slideupSubmit (name) { 
    $(name).submit(function (event) { 
     event.preventDefault(); 
     var target = $(this).attr("action"); 
     var response = $(this).attr("response"); 
     var formName = $(this).attr("id"); 

     $.post(target, 
      $(this).serialize() + '&' + $.param({ 'formName':formName, response : response}), 
      function (data) { 
       $(response).html(data); 
       $(name).hide(); 
       $(name)[0].reset(); 
      } 
     ); 
    }); 
}; 

function resetForm (name){ 
    $(name).show(); 
}; 

林在这个真正的新和只被编码几个月,所以如果我的代码是非常糟糕我道歉,如果解决方案是很容易的,请见谅。 我编写了这段代码,这样我就可以重用它来在我的页面上提交不同的表单,并将响应发送到它上面的div。我能够发布我想要的所有内容,但在第一次发布后,如果我再发布一次,它会发布两次。然后三次。我知道我做错了,但我找不到错误。提交第一submisson的jQuery后功能提交两次,PHP

我在回复中包含了这个信息,以便隐藏后可以返回表单。

<a onClick="resetForm('.$_POST['formName'].')" href="#" response=""> New Form?</a> 

这里是表格。

     <!-- Form 1 ---> 
<div class="row "> 
    <div class="col-xs-12"> 
    <div class="well well-dark "> 
        <h4><a href="#" onclick="form('contactUpdate')">Update Contacts</a></h4> 
     <span class="contactUpdate-response text-success"></span> 
     <form id="contactUpdate" class="form form-inline hidden contact-form" response=".contactUpdate-response" method="post" action="ajax/contactUpdate.php"> 

      <div class="form-group"> 
       <input hidden name="contact_entry" value="1"/> 
      </div> 


      <div class="form-group"> 
      <label>Contact Title:</label> 
      <input class="form-control" name="contact_title" required /> 
      </div> 

      <div class="form-group"> 
      <label>Link to Employee</label> 
       <select name="empId" class="form-control select-emp-name"></select> 
      </div> 

      <div class="form-group"> 
       <label>Category:</label> 
       <select name="category"class="form-control select-contact-categories "> 
      </div> 

       <div class="form-group"> 
       <label>Link to Location</label> 
       <select name="locat_id" class="form-control select-location"></select> 
       </div> 

       <div class="form-group"> 
       <label>Number:</label> 
       <select name="extId" class="form-control select-dig-ext"></select>  
       </div> 

       <div class="form-group"> 
       <input hidden name="updateBy" value="24"/> 
       </div> 

      <div class="form-group"> 
      <input onclick="slideupSubmit(contactUpdate)" type="submit" class="form-control btn btn-primary" value="Update List" /> 
      </div> 
      </form> 
     </div> 
    </div> 
</div> 
        <!--- --> 
+0

删除onclick事件'的onclick = “slideupSubmit(contactUpdate)”',并尝试.. – CNKR

回答

0
<input type="submit" class="form-control btn btn-primary" value="Update List" /> 

把你的事件监听器失去作用 和删除的onclick = ...

$(name).submit(function (event) { 
    event.preventDefault(); 
     var target = $(this).attr("action"); 
      var response = $(this).attr("response"); 
      var formName = $(this).attr("id"); 
       $.post(target, $(this).serialize() 
         +'&'+$.param({ 'formName': formName, 
            response : response}), 
        function(data){$(response).html(data); 
        $(name).hide(); 
        $(name)[0].reset(); 
    }); 
+0

谢谢!我使用了你给我的东西,但无法使用它。我将代码中的第一个$(name)更改为$('form'),并修复了它。希望我知道是什么导致jquery不断添加额外的帖子。 –

+0

是的,我忘了将名称更改为表单选择器 – Motsim

相关问题