无法添加onclick属性来输入可行

时间:2013-09-25 04:57:10

标签: javascript input onclick

简单点。神秘的问题。以下是我的代码。我为输入按钮创建了一个变量。我添加了一个onclick函数。我将输入变量添加到现有div。但是onclick属性没有出现。请帮忙。

    var newbutton = document.createElement('input');
    var addonclick = "'return sayhi('phrase')'";
    newbutton.onclick = addonclick;//does not work
    newbutton.type = 'button'; 
    document.getElementById('existingdiv').appendChild(newbutton);

...

    function sayhi(phrase){
        alert(phrase);
    }

也不起作用:

            newbutton.id = "buttonid";   
            ....              
            document.getElementById("buttonid").onload = '"return sayhi('phrase')"';

4 个答案:

答案 0 :(得分:1)

onclick属性采用的函数不是字符串,例如

newbutton.onclick = function(){sayhi('phrase')};

答案 1 :(得分:1)

将sayhi分配给.onclick。还给你的按钮一些文字

var newbutton = document.createElement('input');
newbutton.onclick = sayhi;
newbutton.type = 'button';
newbutton.value = 'click'; 
document.getElementById('existingdiv').appendChild(newbutton);

function sayhi(){
    alert("hi");
}

答案 2 :(得分:1)

尝试添加newbutton.onclick = sayhi;它会起作用。 onclick期望在点击该元素时执行的javascript。这里addonclick只是一个变量,单击该元素时无需执行任何操作。

答案 3 :(得分:0)

嘿,你是否尝试过这种方式:

function sayhi(){
        alert("hi");
    }

var newbutton = document.createElement('input');

    newbutton.onclick = sayhi;
    newbutton.type = 'button'; 
    document.getElementById('existingdiv').appendChild(newbutton);