2016-04-06 10 views
3

Ich habe eine Webseite mit einer kleinen Umfrage. Ich möchte einige der Antworten basierend auf Benutzereingaben für die vorherige Frage vorbelegen.So erfassen Sie den Wert von Textbox

Im folgenden Code hängt der Wert von ID QR ~ QID3 vom Wert von QID1_Total ab. Nach dem Laden der Seite und selbst wenn die Bedingung erfüllt ist, wird das Textfeld nicht mit dem korrekten Wert ausgefüllt.

.addOnload(function() 
{ 
    if(document.getElementById("QID1_Total").value>15) { 
     document.getElementById("QR~QID3").value = "Good"; 
     } 

    else{ 
     document.getElementById("QR~QID3").value = "Average"; 
    } 

}); 
+0

Sie benötigen einige Listener auf Ihrem 'QID1_Total' Element, das diese Funktion auslöst. –

Antwort

4
$("#QID1_Total").on("input", function() { 
    //statements goes here 
}); 

Verwendung von on("input" wird jede Eingabe Ereignis, umfassen Drop und Paste verfolgen.

mehr über onInput wissen: https://mathiasbynens.be/notes/oninput

Hier ein Fiddle Beispiel zu wissen, wie Trigger funktioniert: https://jsfiddle.net/5sotpa63/

eine Annahme

Lassen Sie uns sagen, Sie sind mit einer Funktion, die diese Aussage enthält, zeigen Good und Average acc Bestellung an Benutzer Eingabe.

var targetElem = document.getElementById("QID1_Total"); 
var showComment = (targetElem,value>15) ? "Good" : "Average"; 
document.getElementById("QR~QID3").value = showComment; 

Der obige Code ist die kürzere Methode Ihrer eigenen Aussage in Ihrer Frage erwähnt.

Jetzt auf Änderung des Ziels QR~QID3 müssen Sie etwas Inhalt laden. Sie verwenden den folgenden Code wie folgt.

$("#QR~QID3").on("input", function() { 
    //your next question loading statements goes here, 
    //statements to proceed when you show some comment Good or Average 
}).trigger("input"); 

Hoffnung! Dies könnte hilfreich sein. .

+0

Eigentlich Benutzer kann Wert in QID1_Total nicht eingeben. Es zeigt die Summe anderer Textfelder an. – Glenn

+0

Kann '$ (" # QID1_Total ") sein. On (" input ", function() {}). Trigger ('input');' – Rayon

+0

Wenn dies der Fall ist, könnten Sie $ ("# QID1_Total") verwenden.) .trigger ("Eingabe") oder ändern – ameenulla0007

1

$ ('# QID1_Total') keydown (function() {

// ur-Code

});

als Maustaste in dem Eingabefeld wird die Funktion

1

Sie müssen genannt gedrückt einen Ereignis-Listener zum „QID1_Total“ Elemente hinzuzufügen. Wenn Sie die Prüfung ausführen möchten, während der Benutzer die Eingabe ändert, d. H. Nach jedem Tastendruck das Ereignis oninput verwenden. Wenn Sie die Prüfung ausführen möchten, nachdem der Benutzer die Eingabe abgeschlossen hat, verwenden Sie das Ereignis onchange. Das Ereignis onchange wird nur ausgelöst, wenn die Eingabe den Fokus verliert.

Sie können die Ereignis-Listener binden, indem die addEventListener() Funktion wie folgt verwendet:

document.getElementById("QID1_Total").addEventListener("input", function(){ //Code goes here });

Here is a JSFiddle showing both methods.

Sie müssen auch, bevor Sie die Funktion parseInt() auf die Textbox Werte verwenden kann mit ihnen mathematische Funktionen ausführen.

Verwandte Themen