2014-05-14 14 views
0

那么,这是初学者的问题 - 每次我点击选项或删除按钮,它发布数据。我怎样才能防止它发生?这是我的表单和JQuery代码。JQuery表单发布在所有点击

<form method="post" id="saveForm" action="" enctype="multipart/form-data"> 
     <p> 
      <select id="select" name="lang"> 
       <option> </option> 
       <option>one</option> 
       <option>two</option> 
      </select> 
      <label>Category Name</label> 
      <input id="inputVal" type="text" name="category" /> 
      <br/> 

     </p> 
     <p> 
      <button type="button" class="add" > 
       Add fields 
      </button> 

      <button type="button" class="remove"> 
       Remove 
      </button> 
      <input type="submit" value="Submit!" /> 
     </p> 

     <label>Image:</label> 
     <input type="file" id="image" name="picture" accept="image/*"> 
    </form> 

这是我的提交功能。我也有.add和.remove按钮的功能。

$(document).ready(function() { 
     $('#saveForm').click(function(e) { 

      e.preventDefault(); 

      var obj = $("#saveForm").serializeObject(); 
      obj = JSON.stringify(obj); 
      alert(obj); 
      /* 
      $.ajax({ 
           type : "POST", 
           url : "@routes.UploadController.uploadView()", 
           contentType : "application/json; charset=utf-8", 
           data : obj, 
           success : function(data) { 
            alert(data); 

           }, 
           error : function(data) { 
            alert("Oops Something Went Wrong " + data); 

           } 
          }); 
      */ 

     }); 
    }); 

回答

4

变化:

$('#saveForm').click(function(e) { 

要:

$('#saveForm').submit(function(e) { 

之前,你必须为每一个您在form任何地方点击时的处理程序,与submit()当你提交它只会提交形成。

+0

非常感谢! – Heisenberg

+0

我不得不等待时间限制。 :) – Heisenberg