点击页面顶部超链接触发表单提交按钮失效问题求助
问题解决:超链接无法触发表单提交按钮点击
嘿,我一眼就揪出导致超链接失效的两个小问题啦!
错误点分析
- 拼写错误:你把事件属性
onclick写成了onlick——少了一个字母c,浏览器完全识别不了这个无效的属性,自然不会执行任何操作。 - 引号嵌套冲突:在
onclick的单引号包裹内容里,你又用了单引号来写getElementById('playlist'),这会让浏览器解析到document.getElementById('就认为字符串结束了,剩下的代码直接变成语法错误,导致整个点击逻辑失效。
修正后的代码
你可以用以下两种方式修复:
方式1:改用双引号包裹内部参数
<a href='#' onclick="document.getElementById('playlist').click()">test</a>
方式2:转义内部的单引号
<a href='#' onclick='document.getElementById(\'playlist\').click()'>test</a>
额外注意事项
除了上面的修正,还要确认这几点来确保功能正常:
- 表单提交按钮的
id确实是playlist,没有拼写错误 - 按钮在页面加载完成后就已经存在(如果是动态生成的按钮,需要确保点击事件绑定在DOM元素就绪后执行,或者使用事件委托)
- 直接点击
playlist按钮本身是可以正常触发表单的delete/play操作的(排除表单本身的逻辑问题)
内容的提问来源于stack exchange,提问作者Dakota Lynch
相关产品推荐
相关产品推荐

