我的javascript有些不对劲?

时间:2016-04-29 06:26:30

标签: javascript

我正在尝试创建一个您在textbox中输入内容的页面,该页面将提醒textbox中的文本,但查看功能提醒它不起作用请帮助!! !

<!DOCTYPE html>
<html>

<head>
  <script>
    function alert() {
      var userInput = document.getElementById("1").value;
      var email = document.getElementsByClassName("gb_b gb_7a gb_R gb_3a").innerHTML;
      window.alert("From: ", +email + " Message: " + userInput);
    }
  </script>
  <base target="_top">
</head>

<body>
  <input id="1" type="text" value="Write what you want the page to say">
  <button onclick="alert()">Enter</button>
</body>

</html>

2 个答案:

答案 0 :(得分:2)

将自定义函数重命名为alertFunction(),因为它导致与javascript内置alert()函数冲突。

请尝试以下代码:

<script>
    function alertFunction() {
      var userInput = document.getElementById("inputid1").value;
      var email = document.getElementsByClassName("gb_b gb_7a gb_R gb_3a").innerHTML;
      alert("From: " +email + " Message: " + userInput);
    }
</script>
<base target="_top">

<body>
  <input id="inputid1" type="text" value="Write what you want the page to say">
  <button onclick="alertFunction();">Enter</button>
</body>

答案 1 :(得分:1)

您在没有任何退出条件的情况下递归调用alert(),因为window.alert指的是alert()本身的实现。 如果你查看控制台的日志,你会看到调用堆栈超出错误。

 function alert() {
     var userInput = document.getElementById("1").value;
     var email = document.getElementsByClassName("gb_b gb_7a gb_R gb_3a").innerHTML;
     alert("From: " + email + "Message: " +userInput); //This refers to your alert
}

您应该按照注释中的建议重命名该函数,或者如果要覆盖alert()函数的默认行为,则不要从函数内部调用它。

function custom_alert() {
  var userInput = document.getElementById("1").value;
  var email = document.getElementsByClassName("gb_b gb_7a gb_R gb_3a").innerHTML;
  //window.alert("From: ", +email + " Message: " + userInput);
  console.log("From: "+email + " Message: " + userInput);

}