2017-06-09 38 views
0

如果我將this exactly複製到我的代碼中,則表示測試未定義。我已經嘗試了至少五頁這樣的代碼,並且他們都發生了錯誤。我需要從用戶那裏獲取一個數字,並將其分配給我的script.js中的一個變量,然後才能夠使用該變量。獲取用戶輸入並用作js中的變量

+0

請添加你的代碼 – xsami

回答

0
<input type="text" id="txt" /> 
<button id="sub">submit</button> 
<script> 
const btn =document.getElementById("sub"); 
let val; 
btn.addEventListener("click",get_val); 
function get_val(){ 
val = 
document.getElementById("txt").value;} 
//Use it as you want 
console.log(val); 

</script> 
+0

這使錯誤「未捕獲的SyntaxError:缺少初始化在常量聲明」 –

+0

對不起,瓦爾變量必須要是標記爲「常量」初始化,否則你可以使用'let'來聲明一個要重新初始化的變量。我修復了代碼。 –

+0

謝謝,我會再試一次。 –

1

我想我知道你的問題是什麼。我已在此fiddle中重新模擬它。

最有可能你的問題是你把這段代碼放在頭上。這導致功能test()未定義爲任何HTML。相反,您應該將該功能包含在正文中的腳本標籤中。因此,要比較,這將無法工作,並給予錯誤測試是不確定

<html> 
    <head> 
     <script> 
      function test() { 
       var value = document.getElementById('userInput').value; 
       alert(value); 
      } 
     </script> 
    </head> 
    <body> 
     <input type="text" id="userInput" placeholder="Give me a value"> 
     <button onclick="test();">Submit</button> 
    </body> 
</html> 

而這將:

<html> 
    <head> 

    </head> 
    <body> 
     <input type="text" id="userInput" placeholder="Give me a value"> 
     <button onclick="test();">Submit</button> 

     <script> 
      function test() { 
       var value = document.getElementById('userInput').value; 
       alert(value); 
      } 
     </script> 
    </body> 
</html> 

在一個HTML文件和腳本文件,它看起來像分離這此(測試和工作):

的test.html:

<html> 
    <body> 
     <script src="test.js"></script> 

     <input type="text" id="userInput" placeholder="Give me a value"> 
     <button onclick="test();">Submit</button> 
    </body> 
</html> 

test.js:

function test() { 
    var value = document.getElementById('userInput').value; 
    alert(value); 
} 
+0

我可以在我的script.js文件中使用它嗎?我從不添加CSS或JS到HTML。在我的js文件是我擁有它的地方。 –

+0

這很好,但也要確保在腳本文件中包含腳本文件,而不是頭部。 –

+0

我當然有。腳本的其餘部分運行。 –