繁体   English   中英

footer.php wordpress中的一段javascript可以在PC上运行,但不能在移动设备上运行

[英]A piece of javascript in footer.php wordpress does work on PC but not on mobile

我在wordpress网站上的footer.php中有以下代码

var myForm = document.getElementById("questionnaire");
if (myForm) {
  myForm.onsubmit = function() {
var questionDiv = document.getElementById('question-div');
var busyDiv = document.getElementById('busy');
var resultDiv = document.getElementById('result-div');
var resultList = document.getElementById('result-list');
var xhr = new XMLHttpRequest();
var url = "https://script.google.com/macros/s/xxxxx/exec";
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

xhr.onload = function() {
  if(xhr.readyState == 4 && xhr.status == 200) {
    var response = JSON.parse(xhr.responseText);
    var result = response.result;
    for (var i in result) {
      var e = result[i];
      if (e) {
        var li = document.createElement('li');
        if (e.url) {
          var a = document.createElement('a');
          a.href = e.url;
          a.textContent = e.name;
          li.appendChild(a);
        } else {
          li.textContent = e.name;
        }
        resultList.appendChild(li);
      }
    }
    busyDiv.hidden = true;
    resultDiv.hidden = false;
  }
}

var form = document.getElementById('questionnaire');
var formData = new FormData(form);
var fields = ['name','email','yob','gender','xxx','yyyy'];
var params = [];
for (var i in fields) {
  var field = fields[i];
  params.push(field + "=" + formData.get(field));
}
xhr.send(params.join('&'));

questionDiv.hidden=true;
busyDiv.hidden=false;


return false;
  };
}
</script>

这使我能够从谷歌表中编写和引用数据

现在所有这些都可以在PC上运行,但它在移动网站上提供404未找到的错误,并且网站本身预设为移动响应。

有人可以帮忙吗?

你的表格html是什么样的? 我怀疑您的移动浏览器正在尝试通过标准 - 非AJAX方式提交表单,因此将浏览器指向表单“action”属性中的url。 请尝试以下操作以停止此默认行为

var myForm = document.getElementById("questionnaire");
if (myForm) {
  myForm.onsubmit = function(evt) {
    evt.preventDefault();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM