Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.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 firefox中的输入按钮不';行不通_Javascript_Html_Firefox - Fatal编程技术网

Javascript firefox中的输入按钮不';行不通

Javascript firefox中的输入按钮不';行不通,javascript,html,firefox,Javascript,Html,Firefox,(我用按钮标记更改了输入标记。) 这可能是一个愚蠢的问题,但问题来了。我有这样一个输入按钮: <button type="submit" id="choice" value="Escolher" onClick="javascript:makeChanges()"> 如果我在通话中发出警报,如: <button type="submit" id="choice" value="Escolh

(我用按钮标记更改了输入标记。) 这可能是一个愚蠢的问题,但问题来了。我有这样一个输入按钮:

<button type="submit"
       id="choice"
       value="Escolher" 
       onClick="javascript:makeChanges()">
如果我在通话中发出警报,如:

<button type="submit"
           id="choice"
           value="Escolher" 
           onClick="alert('Hello')">

按钮可以工作,但当我尝试调用javascript函数时,它不起作用。

试试:

<input type="button" id="choice" value="Escolher" onClick="makeChanges()" />


你的javascript是什么?可能有错误吗?

能否在这个输入元素周围添加一些关于代码的上下文?它是一种形式(听起来不像)?“submit”输入类型需要在表单中…您可以将其改为按钮输入元素吗

<input type="button" id="choice" value="Escolher" onClick="javascript:makeChanges()">

用于提交表单数据。如果没有
,firefox不知道表单应该提交到哪里或如何提交,因此它不会提交


如果要使用不带表单的按钮,可以使用
标记。

输入类型为提交。这表示要提交表单。如果没有表单,Firefox不知道提交什么。

如果您的类型为“提交”,浏览器将尝试将数据发布到封闭元素的“action”属性。您可以通过向onclick处理程序添加“return false;”来禁用此功能。正如其他人所说,“按钮”是在这种情况下使用的更合适的类型。下面的简单示例对我很有用:

&lt;input type="button" onClick="javascript:alert('hello');" /&gt;

您是否在Firefox中安装了NoScript?通常情况下,file://不允许执行JavaScript代码。

我刚刚试过你的代码,在Firefox3中运行正常。在下面的HTML上。检查您的函数是否已定义。或者可能是你的Firefox版本

<html>
<head>

<script type="text/javascript">

function makeChanges(){
    alert('hi');
}

</script>

</head>
<body>

<input type="submit"
       id="choice"
       value="Escolher"
       onClick="javascript:makeChanges()">

</body>
</html>

函数makeChanges(){
警报(“hi”);
}

确实,这在firefox上不起作用(但在IE、Chrome上起作用):

解决方案是将javascript代码放入
onClick
,例如:

input type="button" value="Show Results" onclick="document.getElementById('dsp').value=1;sertificatesStatsForm.submit();"

在Firebug控制台中查找任何JS错误,如果它不起作用,应该有一些关于原因的反馈。您是否尝试过删除onclick属性中的“javascript:”?无需指定将脚本元素放入其中。输入类型为submit。没有表单,firefox不知道提交什么。@Victor:你的评论读起来像是答案。考虑一下它。你的问题应该是对原问题的评论,而不是你的答案的一部分。你在哪里和如何定义Maxchange()?在我看来,这可能就是问题所在。或者makeChanges()没有(意外)任何效果。我会尝试向它添加警报或在Firebug中跟踪它。实际上默认为type=“submit”。
input type="button" value="Show Results" onClick="javascript:show()"
input type="button" value="Show Results" onclick="document.getElementById('dsp').value=1;sertificatesStatsForm.submit();"