Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript函数未从按钮单击触发_Javascript_Javascript Events - Fatal编程技术网

Javascript函数未从按钮单击触发

Javascript函数未从按钮单击触发,javascript,javascript-events,Javascript,Javascript Events,我有以下html: <input type="text" id="theInput" /> <input id="clickMe" type="button" value="Search" onclick="testFunction(document.getElementById('theInput').value)" /><br> 我还尝试了另一种方法,使用: document.getElementById("clickMe").onclick

我有以下html:

    <input type="text" id="theInput" />

<input id="clickMe" type="button" value="Search" onclick="testFunction(document.getElementById('theInput').value)" /><br>
我还尝试了另一种方法,使用:

document.getElementById("clickMe").onclick = testFunction(document.getElementById("theInput").value);

遗憾的是,这两种方法似乎都无法触发函数。我肯定我遗漏了一些简单的东西,有人能指出吗?

我经过测试,发现您的代码没有问题,您可以看到。但是,我认为它在您的页面中不起作用,因为您包含javascript函数的方式。您最好将所有脚本放在页面的
标题
标记中


如果您使用某些框架,请确保在加载所有javascript时执行您的函数和绑定。

而不是分配
onclick
,它只允许您向元素添加一个单击处理程序,您应该使用addEventListener,它允许您注册多个侦听器。见下文:

document.getElementById('clickMe').addEventListener('click', function () {
    alert(document.getElementById('theInput').value);
});

JSFIDLE demo

您在input2nd选项中缺少的值attr是错误的。。。onclick=handler;。。。。处理程序必须是函数引用,而您正在设置testFunction的返回值,该值在您的案例中未定义。使用onclick=function(){/*testFunction执行代码*/};一旦我把它抽象出来,它也对我有用。在我尝试使用的更大的代码中,它没有触发。这太令人恼火了。但很高兴知道逻辑是正确的。
document.getElementById('clickMe').addEventListener('click', function () {
    alert(document.getElementById('theInput').value);
});