【问题标题】:HTML form never calls JavascriptHTML 表单从不调用 Javascript
【发布时间】:2013-10-28 14:08:43
【问题描述】:

我在 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>

就在 &lt;/body&gt; 标记之前,我定义了以下 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 做些什么特别的事情吗?我的问题是是否应该使用内联函数调用,或者这是否是您最喜欢的代码编写方式。

【问题讨论】:

    标签: javascript html input onclick radio-button


    【解决方案1】:

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

    function doStuff (id) {
       alert("Doing stuff!");
    }
    

    【讨论】:

      猜你喜欢
      • 2010-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多