1

我有一组用 HTML 定义的单选按钮,如下所示:

<input type="radio" name="group" id="rad1" value="rad1" onClick="doStuff(this.id)">Option 1<br>
<input type="radio" name="group" id="rad2" value="rad2" onClick="doStuff(this.id)">Option 2<br>

在标记之前</body>,我定义了以下 JavaScript 行为:

   <script type="text/javascript">
       /*<![CDATA[*/                   
       function doStuff(var id){
           alert("Doing stuff!");
       }
       /*]]>*/
   </script>

当我运行程序时,页面会在我的浏览器窗口中按预期加载,并且单选按钮允许我单击它们。然而,该doStuff()函数从未被调用(我也使用断点验证了这一点)。

我还尝试了以下方法,看看 inline 是否有所作为,但似乎根本没有调用 JavaScript:

<script type="text/javascript">
       /*<![CDATA[*/   
       alert("JavaScript called!");
       main();
       function main(){
            var group = document.getElementsByName('group');
                for(var i=0; i<group.length; i++){
                    group[i].onclick = function(){
                        doStuff(this.id);
                    };
                }
       }
       /*]]>*/
</script>

我的问题是,在这种情况下,我需要使用 HTML 和 JavaScript 做些什么特别的事情吗?我的问题不是我是否应该使用内联函数调用,或者这是否是您最喜欢的编写代码的方式。

4

1 回答 1

3

函数声明不好——参数之前不应该有“var”:

function doStuff (id) {
   alert("Doing stuff!");
}
于 2013-10-19T21:55:18.200 回答