我似乎无法使用此功能。我正在尝试根据“金额”下拉列表中选择的金额更改表单的“业务”输入值。我错过了什么!我已经尝试了一个小时。
<script type="text/javascript">
function chPy()
{
var businessvar = "paypals@ramatico.com";
if (document.forms['5'].amount.value > 11){
businessvar = "paypall@ramatico.com"
}
document.forms['5'].business.value = businessvar;
}
</script>
<form name="5">
<select name="amount" OnChange="chPy()">
<option value="na">Select</option>
<option value="1.00">$1</option>
<option value="5.00">$5</option>
<option value="10.00">$10</option>
<option value="15.00">$15</option>
<option value="20.00">$20</option>
<option value="25.00">$25</option>
</select>
<input name="business" type="text" value="">
</form>
确定。下一步。我在页面上有大约100个这样的表单。我不想为每个表单创建一个脚本,而是希望根据使用“onChange”更改哪个表单来更改一个脚本。页面上的每个表单都具有相同名称(但不是ID)的值(它们用于paypal)。我想如果我可以更改下面的“formname”就可以了:“document.forms ['formname']”基于一个由chPy(“formname”)等填充的变量.....我可以似乎还能让它发挥作用。
答案 0 :(得分:3)
删除表单引用会处理您的两个项目。
<script type="text/javascript">
function chPy(oSelect)
{
var businessvar = "paypals@ramatico.com";
if (oSelect.form.amount.value > 11){
businessvar = "paypall@ramatico.com"
}
oSelect.form.business.value = businessvar;
}
</script>
<form name="5">
<select name="amount" OnChange="chPy(this)">
<option value="na">Select</option>
<option value="1.00">$1</option>
<option value="5.00">$5</option>
<option value="10.00">$10</option>
<option value="15.00">$15</option>
<option value="20.00">$20</option>
<option value="25.00">$25</option>
</select>
<input name="business" type="text" value="">
</form>
答案 1 :(得分:0)
问题是您使用数字作为表单名称。
在名称中添加一些字母,它将起作用:
<script type="text/javascript">
function chPy()
{
var businessvar = "paypals@XYZ.com";
if (document.forms['form5'].amount.value > 11){
businessvar = "paypall@XYZ.com"
}
document.forms['form5'].business.value = businessvar;
}
</script>
<form name="form5">
<select name="amount" OnChange="chPy()">
<option value="na">Select</option>
<option value="1.00">$1</option>
<option value="5.00">$5</option>
<option value="10.00">$10</option>
<option value="15.00">$15</option>
<option value="20.00">$20</option>
<option value="25.00">$25</option>
</select>
<input name="business" type="text" value="">
</form>
答案 2 :(得分:0)
HTML:
<form name="form5">
<select name="amount">
<option value="na">Select</option>
<option value="1.00">$1</option>
<option value="5.00">$5</option>
<option value="10.00">$10</option>
<option value="15.00">$15</option>
<option value="20.00">$20</option>
<option value="25.00">$25</option>
</select>
<input type="text" name="business">
</form>
JavaScript的:
var form5 = document.forms['form5'];
form5.amount.onchange = function() {
form5.business.value =
(this.value > 11 ? 'paypall' : 'paypals') + '@ramatico.com';
}
现场演示: http://jsfiddle.net/Fx7zh/
对于多个表单,您可以使用以下JavaScript代码:
for (var i = 0, l = document.forms.length; i < l; i++) {
document.forms[i].amount.onchange = function(i) {
this.form.business.value =
(this.value > 11 ? 'paypall' : 'paypals') + '@ramatico.com';
}
}