2013-11-28 66 views
1

我在HTML表單中添加一個小onclick事件到一個按鈕,它不是working.This是一個我補充說,這是一個基本的如何添加一個onclick按鈕事件?

function myFunction() 
{ 
alert("Hello World!"); 
} 

和HTML

<button onclick="myFunction" class="btn btn-1 btn-1c">Credit Card</button> 

但是,這是行不通的,請檢查撥弄http://jsfiddle.net/RzT68/8/。如果字段未填滿,另一個彈出即將到來,但我無法弄清楚,如何刪除它在點擊一個按鈕。

+0

請勿使用內聯js。相反,您可以使用javascript的'document.getElementById('myId')','document.querySelector('selectorHere')'或者如果使用jQuery,'$('selectorHere')'來獲取元素的引用。然後使用'element.addEventListener('click',myFunction)'或jQuery的'$(element).click()'附加事件。 – m59

回答

3

演示http://jsfiddle.net/f8Fd3/

這裏是你的代碼:)

@DownVoter,護理演示來解釋嗎?

OP至於M59說是有點evanglistic而不是把內嵌的點擊

請仔細閱讀本Why is using onClick() in HTML a bad practice?

與律DIFF另一個代碼演示:http://jsfiddle.net/6wwe2/

OP休息這應該適合你的需要! :))

代碼

<button onclick="javascript:myFunction()" class="btn btn-1 btn-1c">Credit Card</button> 

enter image description here

+0

我沒有倒下,但我幾乎會因爲你鼓勵使用內聯js而不是斥責它。 – m59

+0

@ m59好點我會更新**但是**好像他/她正在處理遺留代碼,所以想在不影響蘋果車的情況下解決問題! ':))'http://stackoverflow.com/questions/5871640/why-is-using-onclick-in-html-a-bad-practice –

+1

謝謝= D也許有一天,我們永遠不必看再次內聯js。 – m59

0

如果你正在使用jQuery:

$('.btn-1c').click(myFunction); 

是最簡單的實現。鑑於你提供的代碼,我不能真正幫助你更多,但有更好的方法。

2

試試這個,按我理解你的問題

<button onclick="myFunction();" class="btn btn-1 btn-1c"> 

Demo

+3

有了你的代表,你真的應該是告訴人們不要使用內聯js,而不是教他們。 – m59

2

使用的onclick,你必須格式化這樣的功能:你的函數後
<button onclick="myFunction()" class="btn btn-1 btn-1c">Credit Card</button>
用括號名稱。

+1

內聯js是可怕的。最好的答案是「不要這樣做!」。 – m59

0

HTML

<button class="btn btn-1 btn-1c">Credit Card</button> 

jQuery的

$(function() { 
     $("button").click(function(){ 
       alert("Hello World!"); 
       return false; 
     }); 
)};  

工作的jsfiddle:http://jsfiddle.net/farondomenic/B4k4T/

1

在你的jsfiddle,你在左邊的下拉列表中選擇no wrap (head)。選擇onLoad(默認情況下)時,您的功能在本地範圍內定義。

見工作示例:http://jsfiddle.net/f7W94/

在你撥弄選擇在左側的下拉沒有包(頭),單擊運行,它會工作。

此外,您應該將onclick事件格式化爲函數調用,例如, myFunction()不是myFunction

1

通過編寫myFunction您不執行該函數,而是返回函數定義。要執行該函數,您應該添加();

onclick='myFunction()' 

這首先讓人感到困惑,但在開始鑽研回叫時很有意義。例如,當你提供一個回調函數時,

等你不要把(),否則作爲代碼準備功能將執行。而是提供函數定義,以便代碼可以在需要時執行該函數。