2011-08-12 57 views
9

有一些我想放入JSFiddle的代碼。它沒有工作。縮小下來我甚至無法得到這個簡單的代碼工作:爲什麼這個簡單的JSFiddle不起作用?

JSFiddle

function displaymessage() { 
    alert("Hello World!"); 
} 
<form> 
    <input type="button" value="Click me!" onclick="displaymessage()" /> 
</form> 

<p>By pressing the button above, a function will be called. The function will alert a message.</p> 

alert框不中的jsfiddle露面。

+1

「沒有工作」 是沒有問題的描述。 –

+0

可能的重複[簡單的例子不適用於JSFiddle](http://stackoverflow.com/questions/5431351/simple-example-doesnt-work-on-jsfiddle) – Xufox

+0

@ thomasf1:請將您接受的答案更改爲更早和更完整https://stackoverflow.com/a/7043684/295783 – mplungjan

回答

0

http://jsfiddle.net/praveen_prasad/XNJxT/14/

的js小提琴所以這樣的事情,無論你寫

window.addEvent('load',function(){ 

//Your code 


}); 

enter image description here

+5

我不明白這個答案。這是一個解釋嗎?一個辦法 ? –

+0

這不起作用 – Dan

5

您需要帶上您的function out of the onLoad/onReady,否則它被放置在另一個範圍內,並且您的按鈕無法訪問該功能。你的情況,你需要使用 沒有包(頭)

生成的代碼如下所示:

Ext.onReady(function() { 
    function displaymessage() 
    { 
     alert("Hello World!"); 
    } 
}); 
20

選擇No wrap - in <head>在JavaScript設置「加載類型」下拉列表。

Screenshot of the dropdown mentioned above

+0

謝謝!我確信我錯過了一些東西。愚蠢的我! – thomasf1

+2

好吧,現在它可以工作。但是,究竟是什麼意思*沒有包裝(頭)*?它在做什麼或不做什麼? – erik

+1

這應該是被接受的答案... – Xufox

4

更改代碼運行 「無包(頭)」 而不是 「onDomReady」。你的功能是不可見的標記。

-1

很抱歉,但......比你提出什麼更簡單...

如果你想用「onclick」屬性調用js函數,把你的javascrit代碼直接放在頭部,你不需要domready或類似的秒。

其次,您需要在函數名稱前加入「javascript:」。

參見:http://jsfiddle.net/XNJxT/1838/

<input type="button" value="Click me!" onclick="javascript:displaymessage()" /> 
+2

正如[在這個美麗的答案](http://stackoverflow.com/a/11348403/1908115)中所述,'javascript:'不被推薦(壞習慣)。 – erik

相關問題