jQuery测试表单元素值的问题

时间:2014-09-04 14:59:15

标签: javascript jquery html forms

美好的一天。

我有一个表单,用户必须填写一些字段,这个表单是用PHP脚本创建的。

我已经完成了一个脚本,对输入字段进行测试,以检查用户是否填写了所有内容。 它基本上是级联测试,如果错误变量为真,则表单未提交。

我做了一些修改,并在表单中添加了一个新的隐藏字段,当用户点击图片时由jquery填充。

$( '.selectLogo' ).bind("click",function(e){
    $( "#operator" ).val( $(this).data("opvalue") );
});

然后,在提交事件中,有整个测试......

if ( !$( "#operator" ).val().length ){
  $(".operatorError").show();
  error=true;
} else{
  $(".operatorError").hide();
}

if(error){
  return false;
}

这是我在测试错误变量之前在函数上添加的最后一个测试,并决定是返回true还是false

问题是:

如果我正在调试脚本,即我在if(error)上方设置断点,一切都很好。 如果我填写了整个表格,即checkForm函数只是进行每次测试并得出返回true或false的决定,一切正常。

但是如果我部分填写表单,并且我尝试在不选择运算符的情况下进行提交(我添加了新字段),checkForm函数会阻止我,显示错误,但此时,我必须单击操作员徽标才能使hiden字段填充,然后我必须单击SEVERAL(读取2,3或有时4)次提交按钮以提交表单。

听起来error变量保留了值,而jQuery缓存它......或者其他什么,是否有人遇到过类似的问题?有可能"强迫" jQuery to"真的"测试变量......?我完全错了,也许问题出在其他地方了?

0 个答案:

没有答案