页脚中的一段javascript.php wordpress确实可以在PC上运行,但在移动设备上不起作用



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

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();

相关内容

  • 没有找到相关文章