我有一个带有一些单选按钮的动态生成表单。对于每个单选按钮,都会有 onClick / onChange 功能。
问题在于,只要单击单选按钮,就会调用第一个表单单选按钮的onClick 。
<form name="a" id="a">
<input type="radio" name="radioa" onclick="func(1);"/>
<input type="radio" name="radioa" onclick="func(2);"/>
</form>
.
.
<form name="f" id="f">
<input type="radio" name="radiof" onclick="func(3);"/>
<input type="radio" name="radiof" onclick="func(4);"/>
</form>
<script>
function func(val){
alert(val);
}
</script>
我尝试使用 onchange 功能也无法正常工作。
始终会调用第一个表单的单选按钮功能,并且每次都会显示alert(1)
。
感谢任何帮助。 提前谢谢。
答案 0 :(得分:0)
这样怎么样。我假设您在func()
上作为参数放置的值是该单选按钮的值。
如果是这样,那么您可以将HTML标记更改为:
<form name="a" id="a">
<input type="radio" name="radioa" onclick="func(this);" value="1" />
<input type="radio" name="radioa" onclick="func(this);" value="2" />
</form>
.
.
<form name="f" id="f">
<input type="radio" name="radiof" onclick="func(this);" value="3" />
<input type="radio" name="radiof" onclick="func(this);" value="4" />
</form>
不是将值作为参数传递给函数,而是使用value=""
属性(我认为更好)。然后传递this
作为参数,其中包含触发onClick的HTML dom。
然后在你的javascript:
<script>
function func(val){
alert(val.value);
}
</script>