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!
答案 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";
}
}
}