我有一个简单的表单,可以通过一个小的 jQuery 脚本在元素外部提交。
<script type="text/javascript">
$(document).ready(function() {
$('#mybutton').click(function(){
$('#myform').attr('action', '/url/to/form').submit();
});
});
</script>
按钮只是一个普通的链接
<a href="javascript:void(0);" id="mybutton">Just a normal link</a>
表格只是普通表格
<form id="myform" action="/url/to/form">
....
<input type="submit" value="Search">
</form>
这在 IE、FF、Chrome 和 Safari 中运行良好,但不适用于 Opera。在 Opera 中,它总是重定向到我的主页,而不是表单操作的 url。我已经尝试在脚本中设置 Action (如上所述)并且通常在表单 Action 参数中设置但没有运气。我正在运行最新的 jQuery 和 Opera。
请帮忙
编辑:我还使用 jQuery UI 框架来处理一些内容和交互
最佳答案
我要做的第一件事是更改处理程序以防止链接的默认操作:
$('#mybutton').click(function(ev){
ev.preventDefault();
$('#myform').attr('action', '/url/to/form').submit();
});
使用 <a>
按钮标签意味着您必须小心浏览器不会对语义感到困惑。我没有太多在 Opera 上调试东西的经验,但这是我怀疑的第一件事。
如果没有真正的“href”与“按钮”相关联,我会质疑为什么它是 <a>
完全标记;它可能只是一个简单的 <span>
,它也可以附加一个点击处理程序,但没有任何可能有问题的 native 行为。
关于javascript - jQuery 提交在 Opera 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5742969/