2014-07-24 92 views
0

這似乎很簡單,但我不能讓它工作時...JavaScript函數未定義從輸入圖像onclick事件稱爲

function myfunction(id) 
    { 
     alert("ID: " + id); 
    } 

有一個小提琴這裏http://jsfiddle.net/66ALW/

的我在Firebug中得到的錯誤是ReferenceError:myfunction未定義 http://fiddle.jshell.net/_display/(1) Line 1

+1

您必須在jsfiddle控制面板上設置「nowrap - in body」選項。否則,JavaScript窗格中的代碼會進入包裝函數,因此您的「myfunction」最終會作爲該函數的本地函數結束,並且不是全局可見的。 – Pointy

+1

而且解決了這個問題 - http://jsfiddle.net/66ALW/1/ - 這是一個jsfiddle配置問題,而不是代碼問題。 – Quentin

回答

0

您在onLoad事件中定義了myfunction,因此它未被填充到全局名稱空間中。因此,函數似乎不存在。有兩種解決方案。

  1. 手動把它放到全局命名空間window.myfunction = myfunction;
  2. 配置的jsfiddle使用的框架和擴展部分「無包裝」選項。
+0

非常感謝所有人,是我需要的答案。 – user1935041