我还有另一个逻辑问题要坚持。 我需要此表格仅允许其中一个。 要么输入文本,要么选中复选框!

}else if(question_pos==7){
        if(!($('#test_check').prop('checked')) && $("#test").val()!="0" &&  ($("#test").val() =="" || 
                !Number($("#test").val()) ||  Number($("#test").val())<0 || Number($("#test").val())>20 )){
          alert("placeholder?");
          return false;

输入:

    <table class="screening" width="100%" cellspacing="5px">
    <tr>
        <td width="8%" align="right"><input name="test" id="test" type="text" pattern="\d*" size="3" maxlength="2"  value="<%=session.getAttribute("test")==null?"":session.getAttribute("test")%>"/>
     </td>
     <td>day(s)</td>
</tr>
      <tr>
        <td width="8%" align="right" valign="top"><input name="test_check" id="test_check" type="checkbox" value="1" <%=(session.getAttribute("test_check")!=null && session.getAttribute("test_check").equals("1"))?"checked":""%>/></td>
        <td width="92%"><label for="test_check">My baby is still in the hospital</label></td>
    </tr>
    </table>

验证需要确保如果选中此复选框,则没有文本输入。

===============>>#1 票数:1

基本上,您想检查被checked属性是否为true,以及该字段是否包含某些字符。 如果同时满足两个条件,则表示表单的状态无效。

这是一个示例http://jsfiddle.net/g4q34/

您应该避免一遍又一遍地调用$("#test") ,这会使代码的可读性降低,并且在性能方面非常低效。 将引用存储在变量中,然后重新使用该变量。

var checked = $('#test_check').prop('checked'),
    val = $("#test").val();

if (checked && val.length) {
    //invalid
} else {
    //the checkbox is checked OR the input contains text, but not BOTH
}

这是您自己的代码的示例:

} else if (question_pos==7) {
        if($('#test_check').prop('checked') && $("#test").val().length) {
            alert("placeholder?");
            return false;
        }

===============>>#2 票数:0

这正是我真正需要的结果。 我只需要喝点咖啡就醒了!

}else if(question_pos==7){
    if(!$('#example_check').prop('checked') && $("#example").val()!="0" &&  ($("#example").val() =="" || !Number($("#example").val()) ||  Number($("#example").val())<0 || Number($("#example").val())>20 )){
    alert("How long did your baby stay in the hospital?");
    return false;
    }else if($('#example_check').prop('checked') && $("#example").val().length) {
    alert("Have you taken your baby home or is your baby still in the hospital?");
    return false;

我将“测试”更改为“示例”

  ask by user2089255 translate from so

未解决问题?本站智能推荐: