我有一个带有表单的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">×</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
});
答案 0 :(得分:1)
要回答您的第一个问题:您应该始终在服务器端验证您的表单数据,如果您已在客户端验证它。 对我来说,你的问题是:当你在click函数上创建你的监听器时,你的表单在dom中不存在。 也许你可以试试这个。 var $ form = $(this).parents('form'); var vstatus = $ form.valid();