Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript validate在焦点离开时抛出异常。说:";检查';依赖';方法“;_Javascript_Jquery_Forms_Jquery Validate - Fatal编程技术网

Javascript validate在焦点离开时抛出异常。说:";检查';依赖';方法“;

Javascript validate在焦点离开时抛出异常。说:";检查';依赖';方法“;,javascript,jquery,forms,jquery-validate,Javascript,Jquery,Forms,Jquery Validate,我正在使用jquery.validate插件进行jquery表单验证。只有选中单选按钮(在本例中为“Hey yo”)时,才需要一个文本字段(名称:“yo_text”) 现在jQuery可以告诉you文本取决于选择“Hey-yo”,但每次you文本模糊且不是空的时候都会出现错误。如果之前的检查表明文本字段无效(即yo_文本为空),则文本字段中的错误消息也不会消失 错误: Uncaught TypeError:无法读取未定义的属性“call”。检查元素时发生异常,请检查“depends”方法。 我只

我正在使用jquery.validate插件进行jquery表单验证。只有选中单选按钮(在本例中为“Hey yo”)时,才需要一个文本字段(名称:“yo_text”)

现在jQuery可以告诉you文本取决于选择“Hey-yo”,但每次you文本模糊且不是空的时候都会出现错误。如果之前的检查表明文本字段无效(即yo_文本为空),则文本字段中的错误消息也不会消失

错误:

Uncaught TypeError:无法读取未定义的属性“call”。检查元素时发生异常,请检查“depends”方法。

我只是修改了代码表单.validate的示例(见下文),但现在出现了神秘的错误。我想不出问题出在哪里

因此,标记:

<form>
  <div class="radio">
    <label>
      <input type="radio" name="selection" value="yo"> Hey Yo
    </label>
  </div>
  <div class="radio">
    <label>
      <input type="radio" name="selection" value="ya"> Hey Ya
    </label>
  </div>
  <input class="form-control" type="text" name="yo_text" placeholder="Enter if yo">
  <button type="submit" class="btn btn-primary">Submit</button>
</form>
我在中修改的示例:

和一个JSFIDLE供参考:


提前谢谢你的帮助

您的函数
isYo
中有一个问题,我认为它应该返回一个不正确的布尔值。在您的情况下,它将返回元素。此外,还对验证中的一些修改进行了验证


谢谢这管用!也找到了解决方案的后半部分。
var form = $('form');

function isYo() {
  return form.find('input[type="radio"][name="selection"][value="yo"]')
}
form.validate({
  rules: {
    selection: 'required'
    , yo_text: {
      required: true,
      depends: isYo
    }
  }
});
$("#myform").validate({
  rules: {
    contact: {
      required: true,
      email: {
        depends: function(element) {
          return $("#contactform_email").is(":checked");
        }
      }
    }
  }
});
var form = $('form');

function isYo() {
 return $('input[type="radio"][name="selection"][value="yo"]').is(':checked');

}
form.validate({
    rules: {
        "yo_text": {            
            required: {
                param:true,
                depends: isYo
            }
        }
    },
    submitHandler: function () {
            alert('Ho hey')
        event.preventDefault();
        return false;
    }
});