将html插入getElementById(" id")。innerHTML

时间:2018-03-17 04:15:09

标签: javascript html getelementbyid

我使用JS更改了我的网站顶部附近的HTML并且它无法正常工作我之前遇到了类似的问题,因为报价搞砸了但是我试图用这种方法解决它但它仍然没有工作



function formSubmit(form) {

  console.log("Ajax Init");

  var data = new FormData(form), // simpler
    xhr = new XMLHttpRequest();

  for (var i = 0, ii = form.length - 1; i < ii; ++i) {
    var input = form[i];
    //data.append(input.name, input.value);
    if (input.getAttribute("name") !== "_gotcha") {
      if (input.value === "" || input.value === null || input.value === "undefined") {
        alert("Please fill out all form fields before submitting");
        // something went wrong, prevent form from submitting
        return false;
      }
    }
  }

  xhr.open(form.method.toUpperCase(), form.action, true);
  if (document.getElementById("_gotcha").value.length == 0) {
    xhr.send(data);
  } else {
    // something went wrong, prevent form from submitting
    return false;
  }

  xhr.onloadend = function() {
    // done
    for (var i = 0, ii = form.length - 1; i < ii; ++i) {
      var input = form[i];
      input.value = "";
    }

    alert("Message Sent - Thank You");
  };


  // everything went ok, submit form
  return true;
};
&#13;
&#13;
&#13;

4 个答案:

答案 0 :(得分:2)

document.getElementById("accTabs").innerHTML = "<a onclick=\"document.getElementById('id01').style.display='block'\" class=\"w3-bar-item w3-button\" id=\"log\"><i class=\"fas fa-users\"></i> SIGN IN</a>";
<div id="accTabs"></div>

请尝试使用此代码段。 由于您错误地使用了引号,因此引发了您的错误。

document.getElementById("accTabs").innerHTML = "<a onclick="alert('ok')"></a>";

如果您尝试使用此代码,则双引号内的双引号将导致问题。 您需要像下面这样更改以解决问题

document.getElementById("accTbs").innerHTML = "<a onclick=\"alert('ok')\"></a>";
  

您也可以使用ES6模板文字。那么你可以在字符串中使用双引号和单引号而没有任何问题。

document.getElementById("accTabs").innerHTML = `<a onclick="alert('ok')"></a>`;

答案 1 :(得分:0)

document.getElementById("accTabs").innerHTML = "<a onclick=\" document.getElementById('id01').style.display='block'\" class=\"w3-bar-item w3-button\" id=\"log\"><i class=\"fas fa-users\"></i> SIGN IN</a>";
<div id="accTabs"></div>

答案 2 :(得分:0)

尝试使用模板字符串,如下所示

document.getElementById("accTabs").innerHTML = `<a 
onclick="document.getElementById('id01').style.display='block'" class="w3-bar- 
item w3-button" id="log"><i class="fas fa-users"></i> SIGN IN</a>`;

这样可行。 详细了解Templete字符串Here

答案 3 :(得分:0)

只需使用"正确转义\"并使用'打包字符串,减少转义

document.getElementById("accTabs").innerHTML = '<a onclick="document.getElementById(\'id01\').style.display=\'block\'" class="w3-bar-item w3-button" id="log"><i class="fas fa-users"></i> SIGN IN</a>';
<div id="accTabs"></div>
<div id="id01" style="display: inline">id01</span>

此外,您还可以尝试使用ES6的反引号来完全避免转义。

document.getElementById("accTabs").innerHTML = `<a onclick="document.getElementById('id01').style.display='block'" class="w3-bar-item w3-button" id="log"><i class="fas fa-users"></i> SIGN IN</a>`;
<div id="accTabs"></div>
<div id="id01" style="display: inline">id01</span>