无线电组的javascript检查表

时间:2011-11-14 08:11:59

标签: javascript

HiExperts,

我正在为一个广播组创建一个带有javascript验证功能的表单。这个想法是,当选中“无”时,不会弹出div,当选中“星期一”或“星期二”时,会弹出一个div: -

//the form
<form name="form_sf" id = "form_sf" method="post" action="process.php" onSubmit="return check_sf_form_info(form_sf,'all')">

<input name="date" id="date" type="radio" value="nil" onChange="check_sf_form_info(form_sf,2)" />None

<input name="date" id="date" type="radio" value="mon" onChange="check_sf_form_info(form_sf,2)" />Monday

<input name="date" id="date" type="radio" value="tue"  onChange="check_sf_form_info(form_sf,2)" />Tuesday

</form>

//the javascript

function check_sf_form_info(form,mark,edit){
        if(mark==2 || mark=="all"){
     if(form.date.value!=="nil"){
       price.innerHTML="$100";
       price.style.display="block";
       price.style.height="auto";
     }else{
       price.innerHTML="";
       price.style.display = "none";       
     }
   }
}

专家请教我哪里做错了吗? Thanksalot!

2 个答案:

答案 0 :(得分:0)

nil单选按钮是广播组中的第一项。 因此你可以使用'getElementsByName'函数。

function check_sf_form_info(form,mark,edit){
     var radio_date_nil = document.getElementsByName('date');
     if(mark==2 || mark=="all"){
     if(radio_date_nil[0].value!=="nil"){
       price.innerHTML="$100";
       price.style.display="block";
       price.style.height="auto";
     }else{
       price.innerHTML="";
       price.style.display = "none";       
     }
   }
}

答案 1 :(得分:0)

我建议将所有的更改更改为onChange="check_sf_form_info(this,2)",然后将您的功能更改为:

function check_sf_form_info(radio,mark,edit){
   if(mark==2 || mark=="all"){
     if(radio.value!="nil"){
       price.innerHTML="$100";
       price.style.display="block";
       price.style.height="auto";
     }else{
       price.innerHTML="";
       price.style.display = "none";       
     }
   }
}