3

我有一个带有一些必填字段的模态表单,但是当我点击提交时,表单只是重新加载,并且我没有收到任何用于提交表单 jQuery 的验证消息,如下所示:

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

Twitter Bootstrap 模式代码是:

<!-- 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>

那么,如果表单有问题,我如何验证表单而不让模型关闭并重新加载?

问候,

4

2 回答 2

8

如果您添加了必需的属性,则无需添加任何脚本来验证表单文本字段。

尝试这个

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

或者

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

于 2013-04-29T08:00:35.987 回答
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;
    }     
});

验证本身有几种不同的方法。

在 Bootply 上工作: http : //bootply.com/60244

于 2013-04-29T10:01:10.047 回答