刚遇到这个问题,如果我有一个已填写的表单字段,我按下提交按钮验证不会发生,但如果我对字段进行更改(如添加字符或两个0,则验证需要地方......
<form id="form_state_edit" method="post" action="javascript:void(0);">
<fieldset class="fieldset">
<legend class="legend">Add a new State</legend>
<div id="form-wrapper-state-modal" style="width: 20rem;margin-left:5rem;margin-bottom:0.5rem;margin-top:-14px;"></div>
<div style="">
<p class="button-height inline-label">
<label class="label" for="state_name" style="display:inline;">State Name</label>
<input type="text" value="<?=$state_name?>" class="input validate[required,custom[onlyLetterSp]]" id="state_name" name="state_name" style="width: 15rem;" />
<input type="hidden" value="<?=$state_arr[1]?>" id="state_id" name="state_id" />
<input type="hidden" value="edit" id="state_action" name="state_action" />
<button id="submit_state" class="button glossy mid-margin-right" type="submit">
<span class="button-icon">
<span class="icon-tick"></span>
</span>
Save
</button>
<div id="state_table_temp" style="display:none;"></div>
</p></div>
</fieldset>
</form>
$("#form_state_edit").validationEngine('attach', {
onSuccess: function(form, status){
alert("The form status is: " +status+", it will never submit");
} ,
onValidationComplete: function(form, status){
alert("The form status is: " +status+", it will never submit");
}
基本上 - 如果没有变化(因为我甚至没有点击表格字段而且没有输入任何内容) - onValidationComplete执行并且status = true
如果我做了一个chnage - onSuccess执行...
我必须写什么,以便即使该人没有做出任何改变(也没有点击表格字段)来形成字段,它将进行验证并转到成功部分......
在验证可以启动之前,似乎需要“激活”该文件。
\任何想法?
答案 0 :(得分:0)
在插件的主页here中,您可以看到以下代码
alert( $("#formID1").validationEngine('validate') );
尝试在提交按钮的点击事件中使用它而不是像这样的提醒对话框
$('#submit_state').click(function () {
return $("#form_state_edit").validationEngine('validate');
});
最后,我建议将jQuery代码包装在文档就绪事件处理程序中。虽然这里不需要。如果您的代码需要引用在其之后声明的DOM元素,那么这是常规并且会让您头疼。
$(document).ready(function () {
//enter code here
});
请记住,我之前没有使用过这个插件,但我很确定这应该可行