2014-04-25 45 views
5

我對JavaScript非常陌生,所以請耐心等待。JS document.getElementById在Button上執行點擊

我有以下代碼:

<input id="test" name="test" type="text" value="" /> 
<input id="test" type="button" value="Go!" /> 
<script type="text/javascript"> 
    window.location.href="http://www.thenewendurancefitness.com/" + document.getElementById('test').value; 
</script> 

我想的代碼在單擊按鈕纔可以執行。該功能是將用戶輸入數據添加到URL的末尾,然後在按鈕單擊時加載該URL。

截至目前,當網頁加載完畢後,它會自動執行並轉到網址。

回答

3
<input id="test" name="test" type="text" value="" /> 
<input id="test2" type="button" onclick="fnc()" value="Go!" /> 
<script type="text/javascript"> 
function fnc(){ 
window.location.href="http://www.thenewendurancefitness.com/" + document.getElementById('test').value; 
} 

</script> 
+0

Yesssss !這工作!非常感謝! – user3573194

+0

這裏有一個來自我的「**代碼轉儲」**,我非常感謝您的回答,但這不會幫助任何人解決根本問題,如果您更好地回答了問題,我很樂意更改我的投票,解釋什麼和爲什麼這個作品。 – iConnor

+0

你答案中的代碼是錯誤的。您必須刪除onclick屬性中的括號以使其正常工作 – Luketep

3

您需要將代碼包裝在一個函數中,然後根據事件調用該函數。這裏是按鈕的onclick事件。請注意,ID必須是唯一的。你的代碼更改爲:

<input id="test" name="test" type="text" value="" /> 
<input id="test2" type="button" value="Go!" onclick="foo()" /> 
<script type="text/javascript"> 
function foo(){ 
    window.location.href="http://www.thenewendurancefitness.com/" + document.getElementById('test').value; 
} 
</script> 

jsFiddle example

3

注意,ID是唯一的,並且你會使用一個事件偵聽器爲

<input id="test" name="test" type="text" value="" /> 
<input id="button" type="button" value="Go!" /> 

<script type="text/javascript"> 
    document.getElementById('button').addEventListener('click', function() { 
     var val = document.getElementById('test').value; 
     window.location.href="http://www.thenewendurancefitness.com/" + val; 
    }, false): 

</script> 
+1

爲什麼downvote? – j08691

+0

@ j08691 - 這是一個可怕的答案,我也會低估它。什麼工具,使用addEventListener時,有一個onclick屬性! – adeneo

+1

我需要一條毛巾來吸收滴水的諷刺。 – j08691

4
  1. 你有兩個輸入字段用相同的ID,這是一個不行! 改變第二個到不同的東西!

  2. 把你當前的JavaScript代碼插入函數

    function clickHandler(event) { 
        // Your code... 
    } 
    
  3. 附加一個事件監聽器,您的容器

    var myContainer; 
    
    // assign element from DOM 
    myContainer = document.getElementById(ID_OF_CONTAINER); 
    
    // attach event handler 
    myContainer.addEventListener('click', clickHandler); 
    

這應該做的伎倆

1
<form onsubmit="return submit()"> 
    <input id="test" name="test" type="text" value="" /> 
    <input id="submit" type="submit" value="Go!" /> 
</form> 
<script type="text/javascript"> 
function submit() { 
    location.href="http://www.thenewendurancefitness.com/"+document.getElementById('test').value; 
} 
</script>