2014-02-24 88 views
0

雖然我四處搜索,並嘗試所有命中和試用的常見問題..但沒有用..仍然jQuery驗證的問題堅持ajax調用之前..形式越來越提交沒有任何驗證jquery驗證之前ajax表單提交多種形式

請提供任何信息,在那裏我可能會得到錯誤的

<script type="text/javascript"> 
    $(document).ready(function() { 


    $('#myform').validate({ 

        rules: { 
         objective: { 
          required: true, 
          minlength: 150 
         }, 
        }, 

       submitHandler: function() 
        { 
          var dataString = $("#myform").serializeArray(); 
          $("#flash").show(); 
          $.ajax({ 
           url: "xyz.php", 
           type: "POST", 
           data: dataString, 
           cache: false, 
           async: false, 
           error: function (jqXHR, textStatus, errorThrown) { 
            alert('error'); 
           }, 
           success: function (data) { 
            $("#flash").hide(); 
             $('#info').html(data.objective); 
             $('.success').fadeIn(200).show(); 
            $("#objective").focus(); 
           } 
          }); 
          return false; 

        } 
      }); 

    }); 
</script> 

HTML

<form class="form-horizontal " name="myform" id="myform" action="include/process.php" method="post"> 


      <div class="form-group"> 
      <label for="objective" class="col-lg-3 control-label">Objective</label> 
      <div class="col-lg-9"> 
       <textarea class="form-control" rows="6" id="objective" name="objective" placeholder="Objective" ></textarea> 
       </div> 
      </div> 
      <div class="form-group"> 
      <div class="col-lg-12"> 
       <button type="submit" id="editbtn" class="btn btn-sm btn-success pull-right hovertip" data-toggle="tooltip" data-original-title=" Add ">Add Data</button> 
       </div> 
      </div> 

     </form> 

有三個類似形式在同一頁上...

+0

對不起,確切的問題是什麼? –

+0

@atjoshi,請說明你面臨的問題是3種形式。使用#myForm應限制您的上述呼叫僅限於您正在使用的表格,除非您對多個表單使用相同的ID等。 –

+0

所有表單都有其不同的ID ...因此,本演示表單提交了一個一個時間... – atjoshi

回答

2

在您的點擊處理程序的開始處添加e.preventDefault

$("#editbtn").click(function (e) { 
    e.preventDefault(); 
    // rest of the code. 
} 

它會阻止您的表單發送,而無需通過您的js代碼。

+0

它的工作,但第二次點擊..第一次點擊是附加validtor形式和第二次點擊正在驗證相同..功能第二次點擊。 – atjoshi

0

你可以做什麼@Romain說或更改HTML到:

<input type="button" id="editbtn" class="btn btn-sm btn-success pull-right hovertip" data-toggle="tooltip" data-original-title=" Add " value="Add Data" /> 

所以,形式不一樣,如果要觸發通過JavaScript提交提交

+0

現在它完全提交 – atjoshi

+0

@atjoshi是的,你可以添加'$(「#myform」)。submit();'當需要時提交表單 – gonzalon

+0

我已經編輯了修改並完全刪除了cick事件,只是使用submitHnadler ..它的工作很好,但..編輯按鈕來填充輸入文本不工作在第二clcick .. anyidea – atjoshi

0

,那麼你可以鍵入按鈕爲「按鈕」,而不是提交:

<button type="button" id="editbtn" class="btn btn-sm btn-success pull-right hovertip" data-toggle="tooltip" data-original-title=" Add ">Add Data</button> 

這將防止默認從執行提交操作,讓你處理通過您的onclick方法的一切。