【发布时间】:2016-05-02 07:04:05
【问题描述】:
所以我有一个底部有 2 个按钮的表单。
<div class="col-xs-12">
<div class="submit-button-mobile">Submit</div>
</div>
<div class="col-xs-12">
<a href="/how_to_book.php">
<div class="how-to-book-button-mobile">
How to book?
</div>
</a>
</div>
原来我在submit-button-mobile 上有onclick="send_message();"(适用于桌面,但不适用于移动设备。此外,该标签在移动设备上也无法点击。
我在这里搜索并找到了这个答案以使其在移动设备上工作
$('.submit-button-mobile').on('click touchstart', send_message);
$('.how-to-book-button-mobile').on('click touchstart', function() {
window.location.href = "/how_to_book.php";
});
并且仍然有同样的问题,在移动设备上无法点击(在带有移动视图的 chrome 开发人员工具上尝试过,并在 iphone 和 android 上尝试过)。
send_message() 位于文件顶部的另一个 .js 文件中。 看起来是这样的
function send_message()
{
var a=document.forms["Form"]["name"].value;
var b=document.forms["Form"]["email"].value;
var c=document.forms["Form"]["message"].value;
var d=document.forms["Form"]["surname"].value;
document.getElementById("contact_message").innerHTML = "Sending your message... Please wait.";
loadXMLDoc(a, b, c, d);
}
//pomocna funkcija za validaciju emaila
function validateEmail(email) {
var re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
return re.test(email);
}
//funkcija za slanje emaila
function loadXMLDoc(name, mail, message, surname)
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("contact_message").innerHTML=xmlhttp.responseText;
document.getElementById("contact_message2").innerHTML=xmlhttp.responseText;
}
}
// xmlhttp.open("GET","send_enquiry.php",true);
xmlhttp.open("POST","send_enquiry.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("name=" + name + "&email=" + mail + "&message=" + message + "&surname=" + surname);
xmlhttp.send();
}
【问题讨论】:
-
send_message的定义? -
连控制都没有过来??
-
在原帖中添加了 send_message 功能。连链接都失效了。我究竟做错了什么?当我在按钮的 div 内使用 onclick 标签调用它时,相同的功能在桌面视图上正常工作。
-
您能否在文档在页面上准备好之后和之前通过警报跟踪它?并在
click touchstart中跟踪它是否触发了事件.. -
这就是问题所在,还有另一个 div 越过按钮。我在按钮上设置了更高的 z-index 数字,即使使用原始选项(inline onclick="send_message()")它现在也能正常工作 抱歉打扰您了。感谢您的帮助
标签: javascript jquery