2016-12-30 67 views
1

你好,我今天刚刚开始,所以我很新。HTML/JavaScript - 输入值不更新(Element.value = Null)

我要得到一个字符串,用户可以在网站上进入我的JavaScript文件。我发现我应该使用document.getElementById("myID").value来获取html网站上的输入字段的值。这是我的问题:我不能使用围绕我的输入和按钮的括号,因为提交将强制重新加载该网站,我的功能将不会有任何影响。

所以我得在运行过程中串入我的JavaScript文件。

这是我目前所面对的:

<div id="searchDiv"> 
    <input type="text" id="searchInput" placeholder="Search for Gifs..." value="" /> 
    <input type="button" id="searchButton" value="Search"></button> 
</div> 

我的JavaScript文件:

var searchButton = document.getElementById("searchButton"); 
var searchInput = document.getElementById("searchInput").value; 

searchButton.addEventListener("click", 
    function() { 
    function(parameter) 
    } 
)... 

所以document.getElementById("searchInput").value;放弃,即使输入字段已被编辑回零。

我希望你能帮助我。

+0

您是否获得*空*或空字符串是什么? – RobG

+0

空字符串,但问题是,我访问前值有人甚至已经进入任何 – redii

回答

3

这是因为你被存储在单击按钮之前也searchInput值,因此该值将是无论你输入输入

尝试访问该按钮的Click事件的任何空

检查这个片段

var searchButton =document.getElementById("searchButton"); 
 
var searchInput=document.getElementById("searchInput"); 
 
window.onload=function(){ 
 
searchButton.addEventListener("click", 
 
    function() { 
 
    alert(searchInput.value); 
 
    } 
 
) 
 
}
<div id="searchDiv"> 
 
    <input type="text" id="searchInput" placeholder="Search for Gifs..." value="" /> 
 
    <input type="button" id="searchButton" value="Search"> 
 

 
</div>

希望它有助于

+0

如果它的任何帮助考虑接受答案 – Geeky

0

您应该使用

<button></button> 

而不是

<input></button> 

我所做的就是

<div id="searchDiv"> 
     <input type="text" id="searchInput" placeholder="Search for Gifs..."> 
     <button id="searchButton">Search</button> 
    </div> 

    <script type="text/javascript"> 
     document.getElementById("searchButton").onclick = function(){ 
      alert(document.getElementById("searchInput").value); 
     } 
    </script> 
+0

呀IM现在玩这个兜了几个小时哈哈 – redii