Javascript" next"按钮带复选框"显示隐藏Div"

时间:2013-12-05 08:44:04

标签: javascript html

你好我有一个有几个问题的网站,我想要一个调查点击抛出几个“div”并带一个复选框,如果他们不想给出答案:

!!!每一件事都有效,但如果我在输入字段中输入0警报就会出现,但是我无法进一步了解?为什么!!!

我的Checkbox代码:

 <input type="checkbox" id="CheckBoxFeld" name="CheckBox2" >

下一个按钮的代码:

 <a href="#" class="Button" onclick="onclick=check2();"><input type="button" value="Next"></a>

我的测试代码:

 function check2(){

    var field = document.Survey.Answer2.value;
    var checkbox2 = document.Survey.CheckBox2.checked;


    if (field == 0 && checkbox2 == false){


        alert("Please answer question 2");


    }
    else{

        showHideDiv('Question2', 'Question3');

    }


}

我的ShowHide功能代码:

 // Show and Hide Div
   function showHideDiv(idHide, idShow){

    //document.getElementById(idShow).style.display = "block";
    //document.getElementById(idHide).style.display = "none";

    document.getElementById(idHide).style.visibility = "hidden";
    document.getElementById(idShow).style.visibility = "visible";

}

3 个答案:

答案 0 :(得分:0)

尝试检查值的长度:

function check2(){

    var field = document.Survey.Answer2.value;
    var checkbox2 = document.Survey.CheckBox2.checked;


    if (field.length == 0 && checkbox2 == false){


        alert("Please answer question 2");


    }
    else{

        showHideDiv('Question2', 'Question3');

    }


}

答案 1 :(得分:0)

尝试使用onclick="check2();"代替onclick="onclick=check2();"

  <input type="button" class="Button" value="Next"  onclick="check2();">

使用Javascript:

function check2(){
    var field = document.Survey.Answer2.value;
    var checkbox2 = document.Survey.CheckBox2.checked;

    if (field == 0 && checkbox2 == false){
    alert("Please answer question 2");

    }
    else{
    showHideDiv('Question2', 'Question3');
    }
    return false;
}

答案 2 :(得分:0)

一些问题

  1. 糟糕的做法和非法的HTML将链接中的按钮包裹起来
  2. 如果您使用链接,则返回false以避免遵循HREF。在这种情况下,浏览器可能会转到顶部,某些浏览器会部分卸载页面,例如动画停止
  3. 喜欢这个

    <a href="#" class="Button" onclick="return check2();">Next</a>
    

    OR

    <input type="button" onclick="check2()" value="Next">
    

    使用

    function check2(){
      var field = document.Survey.Answer2.value;
      var checkbox2 = document.Survey.CheckBox2.checked;
      if (field == 0 && !checkbox2){
        alert("Please answer question 2");
      }
      else{
        showHideDiv('Question2', 'Question3');
      }
      return false;
    }
    

    但仅当您的字段包含0时。 如果你想测试它是否为空,你需要field.length == 0而不是