我花了三个多小时试图处理我给出的代码。我从来没有做过javascript。请帮忙。 我有一个带有4个单选按钮的表单,一个指定“其他”,并且旁边是一个应该发布用户指定值的文本框。这是我尝试过的 HTML:
<td id="amount_container">
<input name="chargetotal" type="radio" value="75.00" onclick="donation_value();" />$75<br />
<input name="chargetotal" type="radio" value="125.00" onclick="donation_value();" />$125<br />
<input name="chargetotal" type="radio" value="250.00" onclick="donation_value();" />$250<br />
<input name="chargetotal" type="radio" value="other" />other
<input type="text" name="specified" size="10" />
</td>
javascript:
<script type="text/javascript">
function donation_value(){
var val = 0;
for( i = 0; i < document.form1.chargetotal.length; i++ ) {
if( document.form1.chargetotal[i].checked == true ) {
val = document.form1.chargetotal[i].value;
if(val=='other') {
document.form1.specified.disabled=false;
document.form1.specified.focus();
document.form1.chargetotal.value=document.form1.specified.value;
} else {
document.form1.specified.disabled=true;
}
}
}
}
</script>
答案 0 :(得分:0)
修复你的js:
function donation_value(){
var val = 0;
var the_form = document.forms['form1'];
for( i = 0; i < the_form.chargetotal.length; i++ ) {
if( the_form.chargetotal[i].checked == true ) {
val = the_form.chargetotal[i].value;
if(val=='other') {
the_form.specified.disabled=false;
the_form.specified.focus();
the_form.chargetotal.value=the_form.specified.value;
} else {
the_form.specified.disabled=true;
}
}
}
}
答案 1 :(得分:0)
看来,你忘了给“其他”电台添加onclick处理程序。 我认为应该是
<input name="chargetotal" type="radio" value="other" onclick="donation_value();"/>
<强>更新强>
我想我明白你的问题是什么:) 您可以添加回调,在提交页面时将调用该回调。如果选择了“其他”无线电,则此回调将设置值。像
这样的东西function assignOtherValue() {
for( i = 0; i < document.form1.chargetotal.length; i++ ) {
if( document.form1.chargetotal[i].checked == true ) {
var val = document.form1.chargetotal[i].value;
if(val=='other') {
document.form1.chargetotal[i].value=document.form1.specified.value;
}
}
}
return true;
}
并添加到表单:
<form name="form1" onSubmit="return assignOtherValue();">