检查单选按钮是否已选中并相应显示错误消息

时间:2011-11-23 16:15:15

标签: php jquery

我不擅长编程,我尝试制作以下单选按钮:

  <input type="radio" name="yesno1" value="no" style="margin-left:30px;outline:0;"/>No</div>
          <div id="check1">*please select</div>

  <input type="radio" name="yesno2" value="yes" style="outline:0;"/>Yes
          <input type="radio" name="yesno2" value="no" style="margin-left:30px;outline:0;"/>No</div>
          <div id="check2">*please select</div>

   <input type="radio" name="yesno3" value="yes" style="outline:0;"/>Yes
          <input type="radio" name="yesno3" value="no" style="margin-left:30px;outline:0;"/>No</div>
          <div id="check3">*please select</div>

   <input type="radio" name="yesno5" value="yes" style="outline:0;"/>Yes
          <input type="radio" name="yesno5" value="no" style="margin-left:30px;outline:0;"/>No</div>
          <div id="check5">*please select</div>

     <input type="button" value="submit" id="submit">

这是我的javascript:

    $("#submit").click(function(){
 if (!$("input[name='yesno1']):checked").val()) {
$("#check1").show();
   }

if ($("input[name='yesno1']):checked").val()) {
 $("#check1").hide();
    }
 if (!$("input[name='yesno2']):checked").val()) {
  $("#check2").show();
  }

if ($("input[name='yesno2']):checked").val()) {
   $("#check2").hide();
    }
if (!$("input[name='yesno3']):checked").val()) {
 $("#check3").show();
   }


 if ($("input[name='yesno3']):checked").val()) {
  $("#check3").hide();
     }
 if (!$("input[name='yesno5']):checked").val()) {
   $("#check5").show();
    }

 if ($("input[name='yesno5']):checked").val()) {
  $("#check5").hide();
     }

  });

我知道我正在做一个笨拙的方式,我想要的是,如果只选中一个单选按钮,则应显示其他三个错误消息,如果选中两个,则另外两个应显示,如果三个检查,则另一个应该显示,如果没有人检查,所有这些都显示。然而,目前只有最后一个案例有效,我不知道我哪里做错了,你们中的任何人都可以帮助我,提前谢谢。

另外,我要将数据传递给php文件,如果我这样做是可能的:

   $yesno1 = $_POST['yesno1'];
   $yesno2 = $_POST['yesno2'];
   $yesno3 = $_POST['yesno3'];
    $yesno5 = $_POST['yesno5'];

感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

使用jQuery is方法尝试此操作。此外,您可以使用else阻止,而不是每次都检查if

$("#submit").click(function(){
   if (!$("input[name='yesno1']").is(':checked')) {
      $("#check1").show();
   }
   else{
      $("#check1").hide();
   }

   if (!$("input[name='yesno2']").is(':checked')) {
      $("#check2").show();
   }
   else{
      $("#check2").hide();
   }

   if (!$("input[name='yesno3']").is(':checked')) {
      $("#check3").show();
   }
   else{
      $("#check3").hide();
   }

   if (!$("input[name='yesno5']").is(':checked')) {
      $("#check5").show();
   }
   else{
      $("#check5").hide();
   }

  });