2017-07-08 3 views
0

Ich weiß, das ist wahrscheinlich eine doppelte Frage. Ich versuche den Wert einer Textbox zu verwenden und zeige es einfach in meiner console.log an. Es erscheint für eine Sekunde und verschwindet.Konsole anmelden Click Event mit Textfeld

Hier ist mein HTML-Formular ist

<form> 
    <input type ="text" id="search" name="search" placeholder="Search..." size="45" required> 
    <input type ="submit" value="GO" id="submit"> 
</form> 

Hier mein JavaScript ist

$(function(){ 


$("#submit").on("click", function(){ 

    var t = document.getElementById("search").value; 
    console.log(t); 


    }); 
}); 

Für zukünftigen Zusammenhang Ich versuche, diese Informationen zu verwenden, um es in die wikipedia API zu stopfen.

 var wikipediaURL = "https://en.wikipedia.org//w/api.php?action=opensearch&search="+ t +"&format=json&callback=?"; 

    $.ajax({ 
     url: wikipediaURL, 
     type:'GET', 
     contentType: "application/json; charset=utf-8", 
     async: false, 
     dataType: "json", 
     success: function(data, status, jqXR){ 
      console.log(data); 
     }, 
    }) 
    .done(function() { 
     console.log("success"); 
    }) 
    .fail(function() { 
     console.log("fail"); 
    }) 
    .always(function() { 
     console.log("complete"); 
    }); 
+0

Es verschwindet, weil das Formular übergeben und das aktuelle DOM durch die Antwort ersetzt wird. Die Tatsache, dass die Nachricht verschwindet, bedeutet nicht, dass der Wert nicht korrekt erhalten wurde. –

+0

Danke! Das macht Sinn, warum return false mein Problem gelöst hat! –

Antwort

0

Grund sehen Sie es für einen Moment in die Konsole und dann verschwinden sie nicht wirklich stehen Sie mit der Taste in Ihrem Formular aus und wann immer Sie klicken eintragen standardmäßig wird das Formular abschicken und die Seite zu aktualisieren, wenn das Ziel ist gleiche Seite, es sei denn, Sie stoppen die Einreichung des Formulars.

Um Formulareinreichung zu vermeiden versuchen Sie dies.