2013-04-29 28 views
3

我有一個表單中的模態與一些必填字段,但是當我點擊提交表單時只是重新加載,我沒有得到任何消息來驗證,我用於提交表單jQuery ,如下圖所示:在Twitter中驗證表單引導模型

<script> 
    $('#InfroTextSubmit').click(function(){ 
     $('#InfroText').submit(); 
    }); 
</script> 

的Twitter的引導模態代碼是:

<!-- Modal1 --> 
<div id="myModal1" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
    <div class="modal-header"> 
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 
    <h3 id="myModalLabel">Edit Introduction</h3> 
    </div> 
    <div class="modal-body"> 
    <form id="InfroText" method="POST"> 
     <input type="hidden" name="InfroText" value="1"/> 
     <table> 
     <tr><td>Title</td><td><input type="text" name="title" style="width:300px" required="require"/></td></tr> 
     <tr><td>Introudction</td><td><textarea name="contect" style="width:300px;height:200px"></textarea></td></tr> 
     </table> 
    </form> 
    </div> 
    <div class="modal-footer"> 
    <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button> 
    <button class="btn btn-primary" id="InfroTextSubmit">Save changes</button> 
    </div> 
</div> 
<script> 
    $('#InfroTextSubmit').click(function(){ 
     $('#InfroText').submit(); 
    }); 
</script> 

那麼,如何可以驗證表單,而不是讓該模型關閉並重新啓動,如果事情是錯的形式?

問候,

回答

8

您不必添加任何腳本,如果你添加了必需的屬性驗證表單文本字段。

試試這個

<input type="text" name="title" style="width:300px" required="required"/>

<input type="text" name="title" style="width:300px" required/>

+0

我嘗試這樣做需要=「需要」,爲輸入類型=「文本」以上,但它正在關閉該模型。 – test 2013-04-29 08:10:47

+1

試試'required =「required」'或我提供的第二個。 – iCode 2013-04-29 08:28:00

+0

它在哪裏記錄?它在Bootstrap 3+中不起作用。它已被刪除?我看到的只是一種手動添加「錯誤」類的方法。 – Medorator 2014-04-23 12:35:30

3

您可以添加"data-dismiss=modal"到InfroTextSubmit按鈕,然後使用上的 '#InfroTextSubmit' '返回false' 點擊功能,防止從關閉的形式。如果表單有效,則調用'submit()'。

按鈕代碼:

<button class="btn btn-primary" data-dismiss="modal" aria-hidden="true" id="save">Save changes</button> 

點擊功能:

$('#save').click(function(){ 

    if ($('#myField1').val()==="") { 
     // invalid 
     $('#myField1').next('.help-inline').show(); 
     return false; 
    } 
    else { 
     // submit the form here 
     $('#InfroText').submit(); 
     return true; 
    }  
}); 

一個有幾種不同的方法來驗證自身。

工作Bootplyhttp://bootply.com/60244