2016-09-30 29 views
1

根據需求我試圖驗證表單。如何驗證表單內的輸入並在表單外提交按鈕

實際上,我在Bootbox模式對話框中傳遞表單輸入元素,並在模態對話框中動態傳遞提交按鈕。

當輸入類型=提交時,它可以驗證表單輸入。但是沒有提交按鈕裏面的形式,因爲我在模態中傳遞它,它無法驗證表單。 例如:

<form id="form_id"> 
Name:<input type="text" required> 
<input type="submit" value="Submit"> 
</form> 

$("#form_id").submit(function(e)){ 
//validation is ok 
return false; 
} 

這是確定的,但是,現在 模態:

var data="<form id="form_id"> 
    Name:<input type="text" required> 
    </form>"; //getting from server 

      $.ajax({ 
      url : 'url', 
      type : 'get', 
      async : true, 
      data : data, 
      success : function(data) { 
       modalDialog = bootbox.dialog({ 
        size : 'large', 
        title : "Title" 
        show : false, 
        message : data, 
        buttons : { 
         success: { 
          label : "Close window", 
          className : "btn-default", 
          callback : function() { 
    return false; 
     //after clicking submit button it should ask required if no data input,and stay in dialog as what happened previous scenario.But dialog is closed. 

          } 
         } 
        } 
       }); 
       modalDialog.on('shown.bs.modal', function() { 
       }); 

       modalDialog.modal('show'); 

      } 

     }); 
+0

您可以檢查與'.checkValidity形式()':[觸發HTML5表單驗證(http://stackoverflow.com/questions/7548612/triggering-html5-form-validation) – Andreas

回答

1

嘗試這樣

在要求您輸入型加html

<form id="frmPlate"> 
    <input type="text" name="Name" required="required" /> 
</form> 
<button type="submit" onclick="CheckValidation();"> Submit</button> 

而且你可以在jQuery驗證像下面的代碼

function CheckValidation(){ 
    var frmvalid = $("#frmPart").valid(); 
    if (!frmvalid) { 
     return false; 
    } 
} 
+0

以前我沒有使用jquery validator插件,現在我添加了並且工作正常。答案已接受。 – Joe

0

當所有的條件都滿足使用JavaScript來提交表單。

document.getElementById('form_id').submit(); 

或jQuery的

("#'form_id'").submit(); 

現在,這裏是你的代碼與 「提交」 添加到它

var data="<form id="form_id"> 
Name:<input type="text" required> 
</form>"; //getting from server 

     $.ajax({ 
     url : 'url', 
     type : 'get', 
     async : true, 
     data : data, 
     success : function(data) { 
      modalDialog = bootbox.dialog({ 
       size : 'large', 
       title : "Title" 
       show : false, 
       message : data, 
       buttons : { 
        success: { 
         label : "Close window", 
         className : "btn-default", 
         callback : function() { 

("#'form_id'").submit(); 
    return false; 
     //after clicking submit button it should ask required if no data input,and stay in dialog as what happened previous scenario.But dialog is closed. 

         } 
        } 
       } 
      }); 
      modalDialog.on('shown.bs.modal', function() { 
      }); 

      modalDialog.modal('show'); 

     } 

    }); 
+0

以前我是這麼做的,但是哥們說一個人提交你創建兩個按鈕?所以我發佈了這個查詢。我隱藏提交ID和點擊外部按鈕後,我觸發提交。 – Joe

+1

我認爲你不需要真正的提交按鈕(表單裏面的一個)來讓上面的代碼工作。 –

+0

看到這個問題:http://stackoverflow.com/questions/17784936/submit-a-form-without-using-submit-button –

相關問題