繁体   English   中英

jQuery条件表单验证

[英]jQuery Conditional Form Validation

我一直在寻找StackOverflow和其他一些站点,以帮助您进行表单字段的条件验证。 大多数问题与复选框有关,但是我的问题围绕一个选择字段。

我已经部署了jQuery和jQueryUI,并且在这方面都可以正常工作。 我还没有安装jQuery Validate,因为我认为没有它就可以实现,但是很高兴告诉大家。 这是问题所在:

如果用户选择“打开”,则需要“ dateOpened”字段。 如果他们选择“关闭”,则需要“ dateClosed”。

<form action="" method="post">
<select name="select12" id="select12">
  <option>Select...</option>
  <option value="1">Open</option>
  <option value="2">Closed</option>
</select>

<input name="dateOpened" id="dateOpened" type="text" />
<input name="dateClosed" id="dateClosed" type="text" />

<input name="submit" type="submit"  value="update"/>
</form>

谁能建议最好的解决方案?

谢谢尼克

尝试这个

$('#select12').on('change',function() {
  if($(this).val()=="1") {
    $('#dateOpened').prop('required',true);
    $('#dateClosed').removeAttr('required');
  }
  if($(this).val()=="2") {
    $('#dateClosed').prop('required',true);
    $('#dateOpened').removeAttr('required');
  }
}

我将使用“验证”插件并编写自己的验证方法-如下所示:

 $.validator.addMethod("dateValMethod", function (value, element) {
    var valid = false;
    if ((value== 1 && value_of_dateOpened_not_empty) || (value== 2 && value_of_dateClosed_not_empty)) {
        valid = true;
    }
    return valid;
 }, "Please blah blah blah...");

这是代码,希望对您有所帮助-

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $( "#update" ).click(function() {
    var abc = $( "#select12" ).val();
    if ( abc == "1" ) {
        var open = $("#dateOpened").val();
        alert(open);
        }
    else { 
        var close = $("#dateClosed").val();
        alert(close);
        }
    });
});
</script>
</head>

<body>
<select name="select12" id="select12">
    <option>Select...</option>
    <option value="1">Open</option>
    <option value="2">Closed</option>
</select>
<input name="dateOpened" id="dateOpened" type="text" />
<input name="dateClosed" id="dateClosed" type="text" />
<input name="submit" type="submit" id="update"  value="update"/>
</form>
</body>
</html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM