1

如果我有一个已经填写的表单字段并且我按下提交按钮验证不会发生但如果我对字段进行更改(如添加一个或两个字符,则验证发生.. ……

<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 执行并且状态 = true

如果我确实进行了更改- onSuccess 执行...

我必须写什么以便即使该人没有对表单字段进行任何更改(也没有单击表单字段),它也会进行验证并转到成功部分...

在验证开始之前,似乎不需要“激活”提交的 ofr。

\任何想法 ?

4

1 回答 1

0

在插件的首页,在这里,可以看到如下代码

 alert( $("#formID1").validationEngine('validate') );

尝试在提交按钮的点击事件中使用它,而不是在警报对话框中,就像这样

$('#submit_state').click(function () {
   return $("#form_state_edit").validationEngine('validate');
});

最后,我建议将您的 jQuery 代码包装在文档就绪事件处理程序中。虽然这里不需要。如果您的代码需要引用在它之后声明的 DOM 元素,它是约定俗成的,可以让您省去麻烦。

$(document).ready(function () {
    //enter code here
});

请记住,我以前没有使用过这个插件,但我很确定这应该可以工作

于 2012-07-18T09:02:37.707 回答