如何检查模态中的表单是否有效

时间:2016-01-26 15:09:06

标签: javascript jquery forms twitter-bootstrap validation

我有一个带有表单的bootstrap模式。我使用jquery.validate库来对表单执行实际验证。

该部分似乎正常工作。
但是,我的下一步是从表单中获取数据并提交给数据库。

这个客户端或服务器端是否更好?如何检查表单实际上是否有效?

我的模态看起来像:

<div class="modal fade" id="myModal" role="dialog">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal">&times;</button>
                    <h4 class="modal-title">Create a new gizmo</h4>
                </div>
                <div class="modal-body form-horizontal">
                    <form role="form" id="newGizmoForm">
                        <div class="form-group">
                            <label class="control-label col-md-2" for="gizmoName">Gizmo Name:</label>
                            <div class="col-md-10">
                                <input type="text" class="form-control" id="gizmoName" name="gizmoName" placeholder="Enter gizmo name" required />
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="control-label col-md-2" for="action">Action:</label>
                            <div class="col-md-10">
                                <input type="text" class="form-control" id="action" placeholder="Enter action" required>
                            </div>
                        </div>                        
                        <div class="form-group">
                            <div class="pull-right">
                                <button type="submit" class="btn btn-success" id="btnSaveGizmoAdd" style="margin-right:10px"                               >Save</button>
                                <button type="button" class="btn btn-default" id="btnCloseGizmoAdd" data-dismiss="modal">Close</button>
                            </div>
                        </div>
                    </form>                    
                </div>                
            </div>
        </div>
    </div>

我尝试过服务器端,但Page.IsValid始终是真的 我也试过客户端,但是我收到错误&#34; JavaScript运行时错误:无法获取属性&#39;形式&#39;未定义或空引用&#34;。

 $("#btnSaveGizmoAdd").on("click", function () {
        var vStatus = $("#newGizmoForm").valid();

        // Check if form validated.
          // If valid post data to client      
    });

1 个答案:

答案 0 :(得分:1)

要回答您的第一个问题:您应该始终在服务器端验证您的表单数据,如果您已在客户端验证它。 对我来说,你的问题是:当你在click函数上创建你的监听器时,你的表单在dom中不存在。 也许你可以试试这个。 var $ form = $(this).parents('form'); var vstatus = $ form.valid();