我的php有个页面 想用js去控制用户少输入一项 会出现提示,该怎么做?
我试过网上给你的代码,不太成功。比如有个form是这样的:<form name="auth_form" action="auth.php">
<input name="gender" type="radio" value="<?php echo $gender_id; ?>"><?php echo $gender; ?>
</form>
比如用户没选择性别这一栏,我希望能出现提示,该怎么弄?
如果name="gender" 是动态的,比如 name="gender_<?php echo $some_id; ?>" 那又该怎么弄???很紧急啊!

解决方案 »

  1.   


    着急啥...皇帝不急...动态不动态都没关系都是输出到前端js代码处理.
    先弄清楚你打算怎么验证 提交的时候验证?
    表单内容就这一个radio?
      

  2.   


    对 提交时候验证,form里面有两个还有一个是时间的,整个代码是这样:<form name="auth_form" action="auth.php">
    <input name="payment" type="radio" value="<?php echo $payment_id; ?>"><?php echo $payment_method; ?> //付款方式,支持信用卡等等,所以name不变
    while(...){
    <input name="<?php echo $location_id;?>" type="radio" value="<?php echo $collection_time_id; ?>"><?php echo $collection_time_formatted; ?>//这里是上门取件的时间(打个比方),让客人选择,但是会根据每个区不同而变化,但每个区都要选个时间,所以name一直在变。。
    }
    </form>
    我想在提交时候验证这两个radio必须被选了,该怎么弄呢?
      

  3.   

    <form name="auth_form" action="auth.php" onsubmit="return foo();" >
    function foo(){
    var count=0;
    var payments=document.getElementsByName('payment'); 
    for(var i=0,len=payments.length;i<len;i++){
           var payment=payments[i];
       if(payment.checked) count++; 
    }   
    if(count==0) return false;return true;
    }
      

  4.   

    radio的名字是变动的,不一定是payment
      

  5.   

    下面这样能检查两个都选中,也可能没把需求理解清楚<form name="auth_form" action="auth.php" method="post" onsubmit="return aa()">
    <input name="payment" type="radio" value="123"/>
    <input name="sea" type="radio" value="456"/>
    }
    <br />
    <input type="submit" value="submit" />
    </form><script>
    function aa(){
        var radioInput=document.getElementsByTagName("form")[0].getElementsByTagName("input");
        if(radioInput[0].checked==false || radioInput[1].checked==false){
            alert("请选择。。");
            return false;
        }
    }
    </script>
      

  6.   

    那你就遍历所有的input... var input = document.getElementsByTagName("input");
            var total = 0;
            for (i = 0; i < input.length; i++) {
                if (input[i].type == "radio" && input[i].checked) {
                    total++;
                }
            }
            alert('有两个选择,你选择了' + total + '个内容');
      

  7.   

    估,摸着,是通过onchange之类的事件来实现的
      

  8.   


    这个不行啊  为什么没效果?
    我改了一下<script language="javascript">
    <!--
    function isEmpty()
    {
    var input=document.getElementsByTagName("input");
    for(i=0;i<input.length;i++)
    {
    if(input[i].type=="radio")
    {
    if(input[i].checked == false)
     alert('Please choose your pick up time and payment method.');
    }
    }
    }
    //-->
    </script> php部分echo "<form name='submit_form' method='post' action='order_confirmation.php' onsumbit='return isEmpty()'>";