所以我有一个表单,其中一个字段调用JavaScript函数来对其他一些字段内容进行一些更改。
像这样:
<form>
<select onchange="montarconselho(distrito,'concelho');" id="distrito">
other selects here...
<input onclick="return submitform()" type="submit"id="inserir"/>
<form
现在我遇到的问题是,如果我离开那个onclick函数调用,select上的onchange函数就会停止工作。
如果我从按钮上删除了onclick调用,则select上的onchange开始工作!
每个人的功能都与彼此无关,所以我不知道发生了什么。
向任何回复的人致敬!
答案 0 :(得分:0)
我有同样问题的轻微变化。 我的onchange是在文本输入上。我更改输入值但将焦点保留在该输入中。然后我使用鼠标单击一个按钮(或点击一个访问键),这将触发一个onclick。
在我的情况下,onchange运行,但onclick在调用处理程序之前永远不会触发或停止。
onchange启动了一个简短的ajax进程。
如果在单击按钮之前选中了输入,则两个事件都能正常工作。 就好像浏览器取消注册onclick事件监听器,直到onchange完成。
...
啊哈!写这个让我发现了狡猾的陷阱。我的onchange处理程序通过在运行时禁用所有表单输入来启动。咄。
这可能是解决问题的可能性很小,但它显示了您有时需要查看代码以查找错误的难度。您可以尝试整理一下代码:';'在submitform()之后,id =之前的空格,连续两个打开表单标签?
答案 1 :(得分:0)
验证您的代码是这样编写的:
HTML:
<form action="/echo/json/">
<select onchange="montarconselho(distrito,'concelho');" id="distrito">
<option value"0">0</option>
<option value"1">1</option>
<option value"2">2</option>
</select>
<input onclick="return submitform()" type="submit" id="inserir"/>
</form>
JS:
var montarconselho = function (a,b) {
alert ('select change');
}
如果这不起作用,请尝试发布“真实”代码的片段