提交表单时,Jquery验证更改所需的值

时间:2012-11-01 03:43:10

标签: php javascript jquery-validate

我想将jquery中的必需值从false更改为true,将true更改为false。

如果textbxox1为空我想设置gobalvar = true else gobalvar = false,

但是在jquery中验证不是更改值。它只记得真正的价值。

如何解决?

PHP代码:

<form id="form1" name="form1"   method="post">
      <input type='text' id='textbox1' name='textbox1'/>
      <input type='text' id='textbox2' name='textbox2'/>
      <input type='submit' value='submit' id='save' name='save'/>
</form>

我的js

   var gobalvar=true;

    if($('#textbox1').val()==""){
        gobalvar=true;
    }else{
        gobalvar=false;
    }
    alert(gobalvar);
    $("#from1").validate({ 
    rules: {
        textbox2:{required:gobalvar}, 
               },
        messages: {
        textbox2:'required'
        }
});​

2 个答案:

答案 0 :(得分:0)

if($('#textbox1').val()==""){
                   // ^------missing brackets
        gobalvar=true;
    }else{
        gobalvar=false;
    }

此外,您的表单ID与您的jquery选择器

不同
    var gobalvar=true;

    if($('#textbox1').val()==""){
        gobalvar=true;
    }else{
        gobalvar=false;
    }

    $("#form1").validate({ 
      //^----different selector value
    rules: {
        textbox2:{required:gobalvar}, 
               },
        messages: { //missing semicolon
        textbox2:'required'
        }
});​

Working Demo

Update 2

答案 1 :(得分:0)

你能试试吗?

    var gobalvar=true;

    $("#form1").validate({
    rules: {
        textbox2:{required:(globalvar = ($("#textbox1").val().length == 0))},
               },
             message{textbox2:'required'}
});