Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.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 为什么这个按钮的onclick参数不能工作?_Javascript_Html_Button - Fatal编程技术网

Javascript 为什么这个按钮的onclick参数不能工作?

Javascript 为什么这个按钮的onclick参数不能工作?,javascript,html,button,Javascript,Html,Button,很简单,为什么不起作用?它根本不会出现一个确认框。我宁愿为它创建一个单独的函数 <input type="button" value="Accept Contract" class="button" onclick="if(confirm('Are you sure you want to accept this contract?')) window.open('actionurl.php');"> 它在这里工作得很好。但是,请尝试以下方法: <script> fun

很简单,为什么不起作用?它根本不会出现一个确认框。

我宁愿为它创建一个单独的函数

<input type="button" value="Accept Contract" class="button" onclick="if(confirm('Are you sure you want to accept this contract?')) window.open('actionurl.php');">

它在这里工作得很好。但是,请尝试以下方法:

<script>
function bla()
{
    if(confirm('Are you sure you want to accept this contract?'))
        window.open('actionurl.php');
}
</script>

<input type="button" value="Accept Contract" class="button" onclick="bla();">

似乎在胡闹:


如果它在那里不起作用,那么它可能与浏览器的兼容性有关。请确认它是否正常工作,然后自己检查它


查看您的javascript错误。也许在这之前其他的事情都失败了,这本身应该是可行的。再粘贴一些标记/代码。另外,你的浏览器是否只是将新窗口作为弹出窗口屏蔽?@Brenden-尽管我提出了其他警告,你还是应该试试Bane和Mark的建议。它们是更干净的解决方案,如果它们确实解决了您的问题,那么接受它们作为正确答案是完全可以接受的。此外,了解Firebug或Chrome开发者工具栏中的错误也很有帮助。在不知道这些信息的情况下,很难确定是什么导致了您的问题。在IE9上工作正常-可能是您有其他JS代码正在运行,并且在到达简单的onclick调用之前就被终止了。在您的浏览器中,确认框在代码的其他区域是否对您有效?知道这一点也会很有帮助。这是一个很好的建议,但它不能解释op的代码为什么不起作用。很明显,它看起来应该可以工作。好吧,它确实解决了他的问题,而且我发现他的代码没有任何问题,所以我发布了这篇文章……如果没有看到调试器发出的错误消息,我们还不确定问题出在哪里。我的建议是,在发布解决方案时要小心,因为这些解决方案不能准确回答或解决问题。同样,这是一个很好的建议,但请注意,如果OP的代码中有其他东西(未显示)导致其他JavaScript无法启动,那么它实际上可能无法解决问题;然而,这仍然不能解决为什么原来的方法不起作用的问题。我也喜欢这个,结果我删除了一个php引用发布在这里,但是在php引用中有一个缺少的引用,然而,这个答案让我发现了这一点,我现在还是使用了这个方法。谢谢
<script>
document.getElementById('confirmButton').onclick = function(){
    if(confirm('Are you sure you want to accept this contract?'))
        window.open('actionurl.php');
}
</script>
<input type="button" value="Accept Contract" class="button" id="confirmButton">