2011-08-12 31 views
9

Có một số mã tôi muốn đưa vào JSFiddle. Nó không hoạt động. Thu hẹp nó xuống tôi thậm chí không thể có được điều này đơn giản nhất của mã để làm việc:Tại sao JSFiddle đơn giản này không hoạt động?

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> 

Các alert hộp không hiển thị trong JSFiddle.

+1

"Đã không làm việc" không phải là một mô tả vấn đề. –

+0

Bản sao có thể có của [Ví dụ đơn giản không hoạt động trên JSFiddle] (http://stackoverflow.com/questions/5431351/simple-example-doesnt-work-on-jsfiddle) – Xufox

+0

@ thomasf1: Vui lòng thay đổi câu trả lời được chấp nhận của bạn thành https://stackoverflow.com/a/7043684/295783 – mplungjan

Trả lời

0

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

Js fiddle nên một cái gì đó như thế này để bất cứ điều gì bạn viết

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

//Your code 


}); 

enter image description here

+5

Tôi không hiểu câu trả lời này. Đây có phải là một lời giải thích? Một giải pháp ? –

+0

Điều này không hoạt động – Dan

5

Bạn cần lấy function out of the onLoad/onReady nếu không nó được đặt bên trong phạm vi khác và nút của bạn không thể truy cập chức năng. Trong trường hợp của bạn, bạn cần phải sử dụng Không quấn (head)

Mã này được tạo ra trông như sau:

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

Chọn No wrap - in <head> trong “Load gõ” thả xuống trong các thiết lập JavaScript.

Screenshot of the dropdown mentioned above

+0

trước và đầy đủ hơn! Tôi chắc chắn rằng tôi đã bỏ lỡ một cái gì đó. Ngu ngốc! – thomasf1

+2

Ok, bây giờ nó hoạt động. Nhưng những gì chính xác có nghĩa là * không có bọc (đầu) *? Nó đang làm gì hay không làm? – erik

+1

Đây phải là câu trả lời được chấp nhận… – Xufox

4

Thay đổi mã để chạy "không bọc (đầu)" thay vì "onDomReady". Chức năng của bạn không hiển thị cho đánh dấu của bạn.

-1

Xin lỗi nhưng ... là đơn giản hơn nhiều so với những gì bạn đề xuất ...

Nếu bạn muốn gọi hàm js với thuộc tính "onclick", hãy đặt mã javascrit của bạn trực tiếp vào đầu, bạn không cần domready hoặc tương tự S.

Thứ hai, bạn cần bao gồm "javascript:" trước tên hàm.

Xem: http://jsfiddle.net/XNJxT/1838/

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

Như đã nêu [trong câu trả lời hay này] (http://stackoverflow.com/a/11348403/1908115) 'javascript: 'không được khuyến cáo (thực hành không tốt). – erik

Các vấn đề liên quan