Heim > Web-Frontend > Front-End-Fragen und Antworten > So geben Sie einen Wert in Text in Javascript ein und fragen die Datenbank basierend auf dem Wert ab

So geben Sie einen Wert in Text in Javascript ein und fragen die Datenbank basierend auf dem Wert ab

PHPz
Freigeben: 2023-04-24 15:00:40
Original
784 Leute haben es durchsucht

Mit der Entwicklung von Webanwendungen hat sich JavaScript zu einer der beliebtesten clientseitigen Sprachen entwickelt. JavaScript kann eine Vielzahl von Funktionen implementieren, darunter dynamische Webseiten, Formularvalidierung, interaktive Benutzeroberflächen, Animationseffekte und mehr. In diesem Artikel stellen wir vor, wie Sie mit JavaScript die Datenbank automatisch abfragen, nachdem Sie einen Wert in das Textfeld eingegeben haben.

  1. Bestimmen Sie die Abfragedaten

Bevor Sie JavaScript zum Abfragen der Datenbank verwenden, müssen Sie die Daten bestimmen, die Sie abfragen möchten. Mithilfe von Datenbankabfragen können Sie den benötigten Datensatz erhalten. In diesem Beispiel simulieren wir eine Datenbank eines Studentenverwaltungssystems, die Informationen über alle Studenten, wie Namen, Noten usw., enthält. Wir werden JavaScript verwenden, um die Datenbank automatisch abzufragen und die Noteninformationen des Schülers anzuzeigen, wenn der Benutzer den Namen des Schülers in das Eingabefeld eingibt.

  1. Herstellen einer Datenbankverbindung

Um die Datenbank abzufragen, müssen Sie eine Verbindung zur Datenbank herstellen. Mithilfe der AJAX-Technologie können Sie eine Anfrage an den Server senden und eine Antwort erhalten, ohne die Seite aktualisieren zu müssen. In diesem Beispiel verwenden wir das XMLHttpRequest-Objekt, um die AJAX-Anfrage zu implementieren. Hier ist ein Beispiel für den Aufbau einer Datenbankverbindung:

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        // 处理响应数据
    }
};
xmlhttp.open("GET", "getstudentinfo.php?q=" + str, true);
xmlhttp.send();
Nach dem Login kopieren

Im obigen Code erstellen wir eine neue AJAX-Anfrage mit dem XMLHttpRequest-Objekt. Wenn sich readyState ändert, rufen wir eine Rückruffunktion auf, um die Antwortdaten zu verarbeiten. Unter diesen repräsentiert das Attribut „readyState“ den Status der AJAX-Anfrage und das Attribut „status“ den Antwortstatuscode. Durch den Aufruf der open()-Methode können wir die angeforderte URL sowie den Anforderungstyp („GET“ oder „POST“) angeben. Nach dem Aufruf der send()-Methode wird die AJAX-Anfrage an den Server gesendet.

  1. Eingabefeldereignisse abhören

Wenn der Benutzer Zeichen in das Eingabefeld eingibt, müssen wir die Datenbank in Echtzeit abfragen, um die entsprechenden Ergebnisse zu erhalten. Um Eingabefeldereignisse abzuhören, können wir die Methode addEventListener() verwenden, um dem Eingabefeld einen Ereignishandler zuzuordnen. Das Folgende ist ein Beispiel für das Abhören von Eingabefeldereignissen:

document.getElementById("input").addEventListener("keyup", function() {
    var input_value = document.getElementById("input").value;
    // 查询数据库
});
Nach dem Login kopieren

Im obigen Code haben wir einen „keyup“-Ereignishandler über die Methode addEventListener() registriert. Wenn der Benutzer Zeichen in das Eingabefeld eingibt, wird das Ereignis ausgelöst . . Wir erhalten das Eingabefeldelement über die Methode document.getElementById() und verwenden dann das Wertattribut, um den Wert des Eingabefelds abzurufen.

  1. Fragen Sie die Datenbank ab und zeigen Sie die Ergebnisse an

Wenn der Benutzer Zeichen in das Eingabefeld eingibt, müssen wir eine AJAX-Anfrage an den Server senden, um die entsprechenden Daten zu erhalten. Hier ist ein Beispiel für die Abfrage der Datenbank und die Anzeige der Ergebnisse:

document.getElementById("input").addEventListener("keyup", function() {
    var input_value = document.getElementById("input").value;
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            document.getElementById("result").innerHTML = this.responseText;
        }
    };
    xmlhttp.open("GET", "getstudentinfo.php?q=" + input_value, true);
    xmlhttp.send();
});
Nach dem Login kopieren

Im obigen Code senden wir eine AJAX-Anfrage mit den Eingabewerten an den Server und der Server gibt ein HTML-Fragment mit den Schülerinformationen zurück. Wenn sich readyState ändert, speichern wir die Antwortdaten im Ergebniselement, das zur Anzeige der Schülerinformationen verwendet wird.

  1. Automatische Vervollständigung realisieren

Zusätzlich zur automatischen Abfrage der Datenbank bei Eingabe eines Werts in das Eingabefeld können wir auch die automatische Vervollständigungsfunktion implementieren. Während der Benutzer Zeichen in das Eingabefeld eingibt, können wir ein Dropdown-Menü mit verfügbaren Optionen anzeigen. Hier ist ein Beispiel für die Implementierung der automatischen Vervollständigung:

document.getElementById("input").addEventListener("keyup", function() {
    var input_value = document.getElementById("input").value;
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            var options = JSON.parse(this.responseText);
            var ul = document.getElementById("auto-complete");
            ul.innerHTML = "";
            for (var i = 0; i < options.length; i++) {
                var li = document.createElement("li");
                var a = document.createElement("a");
                a.appendChild(document.createTextNode(options[i]));
                a.setAttribute("href", "#");
                li.appendChild(a);
                ul.appendChild(li);
            }
            if (options.length > 0) {
                ul.style.display = "block";
            } else {
                ul.style.display = "none";
            }
        }
    };
    xmlhttp.open("GET", "getstudentnames.php?q=" + input_value, true);
    xmlhttp.send();
});
Nach dem Login kopieren

Im obigen Code senden wir eine AJAX-Anfrage mit den Eingabewerten an den Server und der Server gibt ein JSON-Array mit den verfügbaren Optionen zurück. Wir verwenden die Methode JSON.parse(), um die Antwortdaten in ein JavaScript-Objekt umzuwandeln. Anschließend erstellen wir eine ungeordnete Liste mit Optionen und fügen sie dem Autovervollständigungselement hinzu. Wenn die Anzahl der Optionen größer als 0 ist, wird ein Dropdown-Menü angezeigt.

  1. Fazit

In diesem Artikel wird erläutert, wie Sie mithilfe von JavaScript die Datenbank automatisch abfragen, nachdem Sie einen Wert in das Textfeld eingegeben haben. Durch den Einsatz von AJAX-Technologie und Ereignis-Listenern können wir eine leistungsstarke und flexible Art der Interaktion mit der Benutzeroberfläche erreichen. Wenn Sie mehr über JavaScript und AJAX-Technologie erfahren möchten, schauen Sie sich die Literatur und Tutorials an.

Das obige ist der detaillierte Inhalt vonSo geben Sie einen Wert in Text in Javascript ein und fragen die Datenbank basierend auf dem Wert ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage