2014-04-25 11 views
5

Ich bin extrem neu in JavaScript, also bitte mit mir.JS document.getElementById ausführen auf Button klicken

Ich habe den folgenden Code:

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

Ich möchte den Code wie nur auf eine Schaltfläche klicken ausgeführt werden. Die Funktion besteht darin, die Benutzereingabedaten am Ende der URL hinzuzufügen und diese URL dann beim Klicken auf die Schaltfläche zu laden.

Ab jetzt, wenn ich die Seite laden, wird es automatisch ausgeführt und geht zur URL.

Antwort

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 ! Das hat funktioniert! Ich danke dir sehr! – user3573194

+0

Hier ist eine ** - 1 ** von mir für "Code-Dump", ich schätze Ihren Versuch zu beantworten, aber das hilft niemandem das Grundproblem zu lösen, ich bin glücklich, meine Stimme zu ändern, wenn Sie besser Ihre Antwort und Erklären Sie, was und warum das funktioniert. – iConnor

+0

Der Code in Ihrer Antwort ist falsch. Sie müssen die Klammern im Onclick-Attribut entfernen, damit es richtig funktioniert – Luketep

3

Sie müssen Ihren Code in eine Funktion einfügen und dann die Funktion basierend auf einem Ereignis aufrufen. Hier das Onclick-Ereignis der Schaltfläche. Beachten Sie, dass IDs eindeutig sein müssen. Ändern Sie Ihren Code:

<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

Beachten Sie, dass IDs eindeutig sind, und dass Sie einen Ereignis-Listener für das

<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

Warum der Downvote? – j08691

+0

@ j08691 - Es ist eine schreckliche Antwort, ich würde es auch ablehnen. Was für ein Werkzeug, das addEventListener verwendet, wenn ein onclick-Attribut verfügbar ist! – adeneo

+1

Ich brauche ein Handtuch, um den tropfenden Sarkasmus zu absorbieren. – j08691

4
  1. Sie haben Eingabefelder zwei verwenden würden, mit der gleichen ID, das ist ein Nein! Ändern Sie den zweiten zu etwas anderem!

  2. Setzen Sie Ihren aktuellen Javascript-Code in eine Funktion

    function clickHandler(event) { 
        // Your code... 
    } 
    
  3. einen Ereignis-Listener Ihrem Container anbringen

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

, die den Trick tun sollten

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