我刚开始使用jquery validate插件,但无法按预期工作。
我在位于http://jsfiddle.net/GWABv/3/
的小提琴上有一个例子谁能告诉我,我做错了什么?我只是试图要求用户在下拉列表中选择一个选项,但即使我没有选择一个值,它也会回来说该表单是有效的。
HTML:
<form id="roadForm" method="get" action="">
<p>
<label for="editRoad_ProjectClassification">
<em class="red">*</em> Project Classification:
</label>
<select id="editRoad_ProjectClassification" name="editRoad_ProjectClassification" title="Please select something!" validate="required:true">
<option value="">Please select</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
</p>
</form>
<label class="FUNC_saveRecord">
<span class="icon iconSave"></span>
<span class="title">Save</span>
</label>
JavaScript的:
$('.FUNC_saveRecord').click(function() {
saveRecord();
});
function saveRecord() {
var roadFormValidator = $('#roadForm').validate();
if (!roadFormValidator.valid()) {
roadFormValidator.showErrors();
}
else {
alert('form is valid');
}
}
答案 0 :(得分:5)
这里有一些问题:
form
在开始标记中拼写错误(<focm>
)class='required'
属性。 validate=required:true
不会这样做。validate
发生时,您都无需致电click
。只需在document.ready
上调用一次即可。showErrors
。该插件将自动为您执行此操作。以下是我更新代码的方法:
<强> HTML:强>
<form id="roadForm" method="get" action="">
<p>
<label for="editRoad_ProjectClassification">
<em class="red">*</em> Project Classification:
</label>
<select id="editRoad_ProjectClassification" name="editRoad_ProjectClassification" title="Please select something!" class="required">
<option value="">Please select</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
</p>
</form>
<label class="FUNC_saveRecord">
<span class="icon iconSave"></span><span class="title">Save</span>
</label>
<强> JavaScript的:强>
$("#roadForm").validate();
$('.FUNC_saveRecord').click(function() {
saveRecord();
});
function saveRecord() {
var roadFormValidator = $('#roadForm');
if (roadFormValidator.valid()) {
alert('form is valid');
}
}