我有一个提交按钮,似乎可以在Chrome中点击,但不能在FF或IE中点击。任何帮助,将不胜感激!我觉得按钮的格式不正确。
<button> <img src="http://button_image.png" onclick="mySubmit();" ></button>
附在mySubmit上的JQ是:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
function mySubmit(){
var myForms = $("form");
myForms.each(function(index) {
var form = myForms.eq(index);
var serializedForm = form.serialize();
serializedForm += '&s_referer_fname='+$('#s_refererFname').val();
$.post("http://post.aspx", serializedForm, function (data, status) {
if (status === "success"){
window.location.href= "http:url.aspx?";
}
});
});
}
</script>
答案 0 :(得分:4)
在FF和IE中,按钮而不是图像标记似乎捕获了onclick
事件。
如果要跨越浏览器触发事件,请将其分配给按钮。 这样它就可以从浏览器中的图像传播,从图像中提升它,而其他浏览器则立即在按钮上捕获它。
<button onclick="mySubmit();"> <img src="http://button_image.png" ></button>
可以在FF,IE和Chrome中使用►https://jsfiddle.net/aspqwc3p/1/
答案 1 :(得分:1)
如果您希望图片成为提交按钮,则应使用input
标记和type="image"
属性:
<input type="image" src="http://button_image.png" onclick="mySubmit();" />
请注意,在mySubmit
功能中,您应该使用preventDefault()
禁用默认行为:
function mySubmit() {
this.preventDefault();
答案 2 :(得分:0)
通常建议不要在HTML中添加任何JavaScript。尝试为您的按钮提供ID并使用
$('#yourid').on('click', function(e) {
e.preventDefault();
.... your code
});
在你的javascript中。 (并将您的脚本标记放在HTML的最后)