我有以下html:
<input type="text" id="theInput" />
<input id="clickMe" type="button" value="Search" onclick="testFunction(document.getElementById('theInput').value)" /><br>
我试图触发这个:
function testFunction(data)
{
alert(data);
}
我还尝试了另一种选择,使用:
document.getElementById("clickMe").onclick = testFunction(document.getElementById("theInput").value);
可悲的是,这些方法似乎都没有触发功能。我确定我错过了一些简单的东西,有人可以指出来吗,
答案 0 :(得分:2)
我进行了测试,发现您的代码没问题,您可以看到demo here。但是,由于您包含javascript函数的方式,我认为它在您的页面中不起作用。您最好将所有脚本放在页面的head
标记中。
如果您使用某个框架,请确保在加载所有javascript时执行您的函数和绑定。
答案 1 :(得分:0)
您应该使用addEventListener,它允许您注册多个侦听器,而不是分配onclick
,它只允许您向元素添加单击处理程序。见下文:
document.getElementById('clickMe').addEventListener('click', function () {
alert(document.getElementById('theInput').value);
});
JSFiddle demo here