2016-04-29 46 views
0

我試圖做一個頁面,你輸入textbox的東西,頁面會提示文字textbox,但看看該功能警告它不工作,請幫助!一些事情與我的JavaScript錯了?

<!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>

+0

檢查控制檯是否有錯誤。爲什麼函數名稱是'alert'? – Rayon

+0

其中元素是類型爲「gb_b gb_7a gb_R gb_3a」的元素嗎? – sujivasagam

+0

@ gurvinder372,這是一個有效的語法! 'document.getElementsByClassName(names);' – Rayon

回答

2

重命名自定義函數爲alertFunction(),因爲它是導致內置alert()功能與JavaScript的衝突。

試試下面的代碼:

<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>

+0

謝謝它幫助:) –

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 
} 

所建議的註釋,如果要覆蓋警報()函數的默認行爲,那麼請不要從你的函數中調用它,您應該重命名功能。

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

} 
相關問題