2013-05-30 48 views
2

我正在使用javascript來創建html頁面,但無法調用按鈕單擊某些功能。從按鈕調用函數不工作爲使用javascript創建的html

var alernative = "plot1"; 
var buttonvalue= "mybutton"; 
function callme() 
{alert("hello");} 

$('#' + alernative).html('<div><input style="float:right;" type="button" value="' + buttonvalue+ '" onclick="' + callme() + '";></div>'); 

在上面的代碼,創建一個按鈕,並給予其價值和調用函數的onclick按鈕,但是當頁面加載它顯示警報(應該不會發生),並沒有報警按鈕點擊。

希望得到建議或一些幫助。

回答

6

你需要傳遞函數名作爲字符串的一部分:

$('#' + alernative).html('<div><input style="float:right;" type="button" value="' + buttonvalue+ '" onclick="callme();"></div>'); 
+0

Thnxs for your reply .... but am getting「callme is not defined」,while it's called callme function as「function callme(){alert(」wed「);}」在寫入html行之前。 ......任何暗示我犯了錯誤的建議@petr – user1260967

+0

@ user1260967:我希望能進一步幫助您,但是您提供的這段代碼並未顯示任何可能會出錯的內容。還有其他事情正在發生,試着編輯您的帖子以向我們展示更多。 –

0

這是一個不好的做法,編寫用繩子HTML,DOM存在的原因之一!

var input = $('<input/>', { 
    type: "button", 
    style: "float: right", 
    value: buttonValue 
}), 
    element = $('<div/>').append(input); 
input.click(function() { 
    callme(); 
}); 
$('#test').html(element);