我所拥有的 - 当用户选择下载按钮时,他们会根据他们的设备(android / iphone / desktop)定向到某个站点。我目前在它完美运行的地方设置它。我正在使用谷歌浏览器的设备工具栏来模拟设备。但是,当我将button标签放在form标签内时,不会发生click事件。什么都没发生。删除表单标记后,它可以正常工作。如何解决此问题但仍使用表单标记?感谢
编辑 - 我已经这样做了这些链接是表单标签内的动作,但是这也不起作用。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name='viewport' content='initial-scale=1'>
</head>
<body>
<div>
<form>
<button type='submit' onclick='func();'>Download</button>
</form>
</div>
</body>
<script>
function func(){
if (window.innerWidth >= 800 || window.innerHeight >= 600){ location.replace('aol.com');
}
if (navigator.userAgent.match(/Android/i) || navigator.userAgent.match(/BlackBerry/i) || navigator.userAgent.match(/Windows Phone/i) || navigator.userAgent.match(/webOS/i)) { location.replace('yahoo.com');
}
if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))){ location.replace('google.com');
}
}
</script>
</html>
答案 0 :(得分:0)
在表单中添加ID并使用表单ID
提交表单<form id="my_form" method="post" action="aol.com">
<button type='submit' onclick='return func();'>Download</button>
</form>
<script>
function func(){
if (window.innerWidth >= 800 || window.innerHeight >= 600){ location.replace('aol.com');
}
if (navigator.userAgent.match(/Android/i) || navigator.userAgent.match(/BlackBerry/i) || navigator.userAgent.match(/Windows Phone/i) || navigator.userAgent.match(/webOS/i)) { location.replace('yahoo.com');
}
if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))){ location.replace('google.com');
}
}
// put this line for submit form
jQuery("#my_form").submit();
</script>
我希望这会有助于你。
答案 1 :(得分:0)
尝试使用[form element] .action()方法而不是location.replace()。
P.S。将该样本复制到您的网站,因为我可以看到下面的snippset阻止打开新网站。
function func(){
var getForm = document.getElementById('form');
if (window.innerWidth >= 800 || window.innerHeight >= 600){
getForm.action = 'http://aol.com';
}
if (navigator.userAgent.match(/Android/i) ||
navigator.userAgent.match(/BlackBerry/i) ||
navigator.userAgent.match(/Windows Phone/i) ||
navigator.userAgent.match(/webOS/i)) {
getForm.action = 'http://yahoo.com';
}
if ((navigator.userAgent.match(/iPhone/i)) ||
(navigator.userAgent.match(/iPod/i)) ||
(navigator.userAgent.match(/iPad/i))){
getForm.action = 'http://google.com';
}
}
&#13;
<div>
<form id="form">
<button type="submit" onclick='func()'>Download</button>
</form>
</div>
&#13;