亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Inhaltsverzeichnis
Einführung: Allgemeine Anforderungen für dynamische Dropdown-Listen
Kern-JavaScript-Interaktion: Ausgew?hlten Wert abrufen
Ereignisbehandlung optimieren: Ausgew?hlten Wert übergeben
Implementierung von JavaScript-Funktionen: Empfangen und Verarbeiten
Implementierung des dynamischen Datenladens: AJAX und PHP
Verstehen Sie die Client-Server-Interaktion
Einführung von AJAX: der Schlüssel zum Aktualisieren der Seite ohne Aktualisierung
AJAX-Anfrageprozess
Codebeispiel: Dynamisches AJAX-Laden
Zu beachtende Dinge und Best Practices
Zusammenfassen
Heim Web-Frontend HTML-Tutorial So erhalten Sie einen in der Dropdown-Liste ausgew?hlten Wert in JavaScript und wenden ihn auf eine PHP-Abfrage an

So erhalten Sie einen in der Dropdown-Liste ausgew?hlten Wert in JavaScript und wenden ihn auf eine PHP-Abfrage an

Oct 15, 2025 pm 11:09 PM

So erhalten Sie einen in der Dropdown-Liste ausgew?hlten Wert in JavaScript und wenden ihn auf eine PHP-Abfrage an

In diesem Tutorial erfahren Sie im Detail, wie Sie den ausgew?hlten Wert einer HTML-Dropdown-Liste in Front-End-JavaScript abrufen und wie Sie mithilfe der AJAX-Technologie diesen Wert an das Back-End-PHP-Skript senden, um abh?ngige Daten dynamisch zu laden (z. B. dynamisch eine Liste von Besprechungsr?umen basierend auf dem ausgew?hlten Büroraum anzuzeigen) und so eine interaktive Webanwendung zu erstellen.

Einführung: Allgemeine Anforderungen für dynamische Dropdown-Listen

Bei der Webentwicklung besteht h?ufig die Notwendigkeit, Seiteninhalte basierend auf Benutzerauswahlen dynamisch zu aktualisieren. Ein typisches Szenario sind kaskadierende Dropdown-Listen: Wenn der Benutzer eine Option in einer Dropdown-Liste ausw?hlt, ?ndert sich der Inhalt der anderen Dropdown-Liste entsprechend. Nachdem Sie beispielsweise ein ?Büro“ ausgew?hlt haben, werden in der zweiten Dropdown-Liste die ?Konferenzr?ume“ unter dem Büro angezeigt.

Um diese Interaktion zu erreichen, ist die Zusammenarbeit von Front-End-JavaScript und Back-End-PHP erforderlich. Ein h?ufiges Missverst?ndnis unter Anf?ngern besteht darin, den Wert einer JavaScript-Variablen direkt im PHP-Code zu verwenden. Allerdings ist PHP eine serverseitige Sprache und wird ausgeführt, bevor die Seite in den Browser geladen wird; JavaScript ist eine clientseitige Sprache und wird im Browser ausgeführt. Das bedeutet, dass der PHP-Code keine Aktionen ?erkennen“ kann, die der Benutzer über JavaScript im Browser ausführt, es sei denn, diese Aktionen leiten Daten über Netzwerkanforderungen (z. B. AJAX) an den Server zurück.

In diesem Artikel wird zun?chst erl?utert, wie Sie den ausgew?hlten Wert einer Dropdown-Liste in JavaScript effizient abrufen k?nnen. Anschlie?end wird erl?utert, wie dieser Wert mithilfe der AJAX-Technologie an das PHP-Backend übergeben wird, um ein wirklich dynamisches Laden von Daten zu erreichen.

Kern-JavaScript-Interaktion: Ausgew?hlten Wert abrufen

Das Abrufen des ausgew?hlten Werts der Dropdown-Liste ist der erste Schritt zur Erzielung einer dynamischen Interaktion. In HTML l?st das

Ereignisbehandlung optimieren: Ausgew?hlten Wert übergeben

Die ursprüngliche Methode kann den ausgew?hlten Wert über document.getElementById erhalten. Eine pr?zisere und effizientere M?glichkeit besteht jedoch darin, den Wert des aktuell ausgew?hlten Elements direkt als Parameter an die JavaScript-Funktion im onchange-Ereignis zu übergeben.

 <select class="custom-select" name="listid" onchange="getdll(this.value)">
    <option value="0"></option>
    <?php // PHP-Code zum Laden der ersten Dropdown-Listenoptionen aus der Datenbank $hall_qry = $conn->query("SELECT * FROM `office_hall` WHERE o_id !=0 order by `office_name` asc");
    while ($row = $hall_qry->fetch_assoc()) : ?>
        <option value="<?php echo $row['o_id'] ?>"><?php echo $row[&#39;office_name&#39;] ?></option>
    <?php endwhile; ?>
</select>

Im obigen Code zeigt this.value auf den Wertattributwert des aktuell ausgew?hlten

Implementierung von JavaScript-Funktionen: Empfangen und Verarbeiten

Nach Erhalt des ausgew?hlten Werts kann die JavaScript-Funktion eine entsprechende Verarbeitung durchführen, z. B. ein Anzeigeelement auf der Seite aktualisieren oder die übermittlung an das Backend vorbereiten.

 <skript>
    Funktion getdll(val) {
        // Eine Anzeigebezeichnung für Debugging oder Benutzerfeedback aktualisieren document.getElementById('lblmess').innerHTML = "Sie haben eine ID ausgew?hlt: " val;
        console.log("Der ausgew?hlte Wert ist: ", val);

        // Als n?chstes verwenden wir diesen Wert, um Daten vom Backend anzufordern // ... (der AJAX-Anfrageteil wird im n?chsten Abschnitt vorgestellt)
    }
</skript>

Auf diese Weise kann die Funktion getdll(val) direkt die o_id der vom Benutzer ausgew?hlten office_hall abrufen.

Implementierung des dynamischen Datenladens: AJAX und PHP

Es reicht nicht aus, den Wert nur im Vorfeld zu ermitteln. Damit die zweite Dropdown-Liste (z. B. ?Konferenzraum“) basierend auf der Auswahl der ersten Dropdown-Liste (?Büro“) dynamisch aktualisiert werden kann, müssen wir diesen ausgew?hlten Wert an den Server senden, PHP die Datenbank basierend auf diesem Wert abfragen lassen und neue Daten zurückgeben. Dieser Prozess wird normalerweise durch die AJAX-Technologie (Asynchronous JavaScript and XML) implementiert.

Verstehen Sie die Client-Server-Interaktion

Auch hier wird der PHP-Code einmalig auf dem Server ausgeführt, generiert HTML und sendet es an den Browser. JavaScript wird im Browser ausgeführt und kann auf Benutzerinteraktionen reagieren. Damit PHP die Abfrage erneut ausführen kann, nachdem der Benutzer sie ausgew?hlt hat, muss über JavaScript eine neue HTTP-Anfrage an den Server initiiert werden.

Einführung von AJAX: der Schlüssel zum Aktualisieren der Seite ohne Aktualisierung

AJAX erm?glicht es Webseiten, Daten mit dem Server auszutauschen und einen Teil des Seiteninhalts zu aktualisieren, ohne die gesamte Seite neu laden zu müssen. In der modernen Webentwicklung ist die Fetch-API die empfohlene Methode zum Initiieren von AJAX-Anfragen.

AJAX-Anfrageprozess

  1. JavaScript sendet eine Anfrage: Wenn die Funktion getdll(val) aufgerufen wird, verwendet sie die Fetch-API, um eine HTTP-Anfrage an ein bestimmtes PHP-Backend-Skript zu senden und fügt val als Daten in die Anfrage ein.
  2. PHP empf?ngt die Anfrage und verarbeitet sie: Das Backend-PHP-Skript empf?ngt die Anfrage, extrahiert den Val-Wert aus der Anfrage und verwendet diesen Wert dann, um die Datenbankabfrage auszuführen.
  3. PHP gibt Daten zurück: Ein PHP-Skript sendet die Abfrageergebnisse (normalerweise als JSON formatiert) als Antwort an den Browser zurück.
  4. JavaScript empf?ngt und aktualisiert die Seite: JavaScript empf?ngt die JSON-Antwort, analysiert die Daten und aktualisiert dann dynamisch die Optionen der zweiten Dropdown-Liste.

Codebeispiel: Dynamisches AJAX-Laden

Um ein dynamisches Laden zu erreichen, müssen wir die HTML-Struktur und die JavaScript-Funktionen ?ndern und ein neues PHP-Backend-Skript erstellen.

1. HTML-Struktur

 


2. JavaScript-Code (Verbesserung der getdll-Funktion)

Diese Funktion initiiert eine AJAX-Anfrage an das Backend.

 <skript>
    Funktion getdll(selectedOfficeId) {
        document.getElementById('lblmess').innerHTML = "Konferenzraum wird geladen...";
        console.log("Ausgew?hlte Office-ID: ", selectedOfficeId);

        // Wenn das Standardelement ausgew?hlt ist (z. B. 0), die Konferenzraumliste l?schen if (selectedOfficeId === "0") {
            const roomList = document.getElementById('roomList');
            roomList.innerHTML = '<option value="0">-- Bitte w?hlen Sie zuerst das Büro aus--</option>';
            document.getElementById('lblmess').innerHTML = "";
            zurückkehren;
        }

        // Verwenden Sie die Fetch-API, um eine POST-Anfrage an das Backend-PHP-Skript zu senden fetch('get_rooms.php', { // 'get_rooms.php' ist die Backend-Skriptdatei, die die Anfragemethode verarbeitet: 'POST',
            überschriften: {
                'Content-Type': 'application/x-www-form-urlencoded',
            },
            body: 'office_id=' selectedOfficeId //Den ausgew?hlten Wert als Anforderungstext senden})
        .then(response => {
            if (!response.ok) {
                throw new Error('Netzwerkantwort ist abnormal');
            }
            return Response.json(); // Antwort im JSON-Format analysieren})
        .then(data => {
            const roomList = document.getElementById('roomList');
            roomList.innerHTML = ''; // Vorhandene Optionen l?schen, wenn (data.length > 0) {
                //Standardoption hinzufügen const defaultOption = document.createElement('option');
                defaultOption.value = "0";
                defaultOption.textContent = "-- Bitte w?hlen Sie einen Konferenzraum aus--";
                roomList.appendChild(defaultOption);

                // Durchlaufe die Daten und füge neue Optionen hinzu data.forEach(room => {
                    const option = document.createElement('option');
                    option.value = room.id; // Angenommen, die vom Backend zurückgegebenen Daten haben ID- und Namensfelder option.textContent = room.room_name;
                    roomList.appendChild(option);
                });
                document.getElementById('lblmess').innerHTML = "Der Konferenzraum ist geladen.";
            } anders {
                const noOption = document.createElement('option');
                noOption.value = "0";
                noOption.textContent = "--Kein Besprechungsraum verfügbar--";
                roomList.appendChild(noOption);
                document.getElementById('lblmess').innerHTML = "Kein relevanter Konferenzraum gefunden.";
            }
        })
        .catch(error => {
            console.error('Beim Abrufen der Konferenzraumdaten ist ein Fehler aufgetreten:', Fehler);
            document.getElementById('lblmess').innerHTML = "Konferenzraum konnte nicht geladen werden.";
        });
    }
</skript>

3. PHP-Backend-Skript (get_rooms.php)

Erstellen Sie die Datei get_rooms.php im selben Verzeichnis wie die HTML-Datei.

 <?php // get_rooms.php

// Datenbankverbindungsdatei einführen require_once &#39;db_connection.php&#39;; // Angenommen, Ihr Datenbankverbindungscode befindet sich in diesem Dateiheader(&#39;Content-Type: application/json&#39;); // Dem Browser mitteilen, dass die Antwort im JSON-Format vorliegt // Prüfen, ob die POST-Anfrage und der Parameter office_id empfangen werden if (isset($_POST[&#39;office_id&#39;])) {
    $officeId = $_POST[&#39;office_id&#39;];

    // Vorbereitete Anweisungen verwenden, um SQL-Injection zu verhindern $stmt = $conn->prepare("SELECT `id`, `room_name` FROM `assembly_hall` WHERE `o_id` = ? ORDER BY `room_name` ASC");
    $stmt->bind_param("i", $officeId); // ?i“ bedeutet, dass $officeId eine Ganzzahl ist $stmt->execute();
    $result = $stmt->get_result();

    $rooms = [];
    while ($row = $result->fetch_assoc()) {
        $rooms[] = $row;
    }

    echo json_encode($rooms); // Das Ergebnis in JSON kodieren und ausgeben $stmt->close();
} anders {
    // Wenn keine gültige office_id empfangen wird, ein leeres Array oder eine Fehlermeldung zurückgeben echo json_encode([]);
}

$conn->close();
?>

db_connection.php Beispiel:

 <?php //db_connection.php
$servername = "localhost";
$username = "Ihr_Benutzername";
$password = "Ihr_Passwort";
$dbname = "your_database";

// Verbindung erstellen $conn = new mysqli($servername, $username, $password, $dbname);

// Verbindung prüfen if ($conn->connect_error) {
    die("Verbindung fehlgeschlagen: " . $conn->connect_error);
}
//Zeichensatz festlegen $conn->set_charset("utf8");
?>

Zu beachtende Dinge und Best Practices

  1. Sicherheit: SQL-Injection-Schutz Verwenden Sie im PHP-Backend immer vorbereitete Anweisungen (Prepared Statements), um Benutzereingaben zu verarbeiten, wie im Beispiel $stmt = $conn->prepare(...). Das direkte Zusammenfügen von Benutzereingaben in eine SQL-Abfragezeichenfolge ist ?u?erst gef?hrlich und anf?llig für SQL-Injection-Angriffe.

  2. Benutzererfahrung: Ladestatus und Fehlerbehandlung

    • W?hrend einer AJAX-Anfrage k?nnen Sie den Benutzer darüber informieren, dass Daten geladen werden, indem Sie das lblmess-Tag aktualisieren oder eine Ladeanimation anzeigen.
    • Behandeln Sie Netzwerkfehler oder vom Server zurückgegebene nicht erfolgreiche Status in JavaScript-Catch-Bl?cken, um Benutzern benutzerfreundliche Fehleraufforderungen bereitzustellen.
  3. Kodex-Organisation: Trennung von Belangen

    • Platzieren Sie HTML-, JavaScript- und PHP-Code in eigenen Dateien (oder halten Sie sie zumindest logisch getrennt).
    • JavaScript-Code sollte in <script>-Tags oder in externen .js-Dateien platziert werden.</script>
    • Die PHP-Backend-Logik sollte in einer separaten .php-Datei platziert werden, die für die Verarbeitung von AJAX-Anfragen vorgesehen ist.
  4. Modernes JavaScript: Fetch-API Die Fetch-API ist die standardm??ige und empfohlene Methode zum Initiieren von Netzwerkanfragen in modernen Browsern. Es bietet eine einfachere und leistungsf?higere Schnittstelle und ersetzt das herk?mmliche XMLHttpRequest.

  5. Datenformat: JSON (JavaScript Object Notation) ist das am h?ufigsten verwendete Format beim Datenaustausch zwischen Front-End und Back-End. Die Funktion json_encode() von PHP kann ein PHP-Array oder -Objekt in einen JSON-String konvertieren, w?hrend die Methode Response.json() von JavaScript eine JSON-Antwort in ein JavaScript-Objekt analysieren kann.

Zusammenfassen

Durch dieses Tutorial haben wir gelernt, wie man den ausgew?hlten Wert einer HTML-Dropdown-Liste effektiv in JavaScript erh?lt, und haben den Interaktionsmechanismus zwischen clientseitigem JavaScript und serverseitigem PHP verstanden. Der Schlüssel besteht darin, die AJAX-Technologie (insbesondere die Fetch-API) zu verwenden, um die Benutzerauswahl im Front-End an das Back-End-PHP-Skript zu senden, das die Datenbankabfrage verarbeitet und die Daten zurückgibt, und schlie?lich JavaScript verwendet, um den Seiteninhalt dynamisch zu aktualisieren. Indem Sie Best Practices für Sicherheit, Benutzererfahrung und Code-Organisation befolgen, k?nnen Sie dynamische Webanwendungen erstellen, die robust und benutzerfreundlich sind.

Das obige ist der detaillierte Inhalt vonSo erhalten Sie einen in der Dropdown-Liste ausgew?hlten Wert in JavaScript und wenden ihn auf eine PHP-Abfrage an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT

Stock Market GPT

KI-gestützte Anlageforschung für intelligentere Entscheidungen

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

CSS -Tipps: Genau spezifische Textinhalte ausblenden, ohne die Elternelemente zu beeinflussen CSS -Tipps: Genau spezifische Textinhalte ausblenden, ohne die Elternelemente zu beeinflussen Sep 16, 2025 pm 10:54 PM

In diesem Tutorial wird angegeben, wie CSS verwendet werden, um spezifische Textinhalte in HTML -Seiten genau auszublenden, um das Problem des gesamten übergeordneten Elements aufgrund von unsachgem??en Selektoren zu vermeiden. Durch Hinzufügen von exklusiven CSS -Klassen zu den Verpackungselementen des Zieltextes und mithilfe der Anzeige: Keine; Attribut, Entwickler k?nnen eine raffinierte Kontrolle der Seitenelemente erreichen und sicherstellen, dass nur die erforderlichen Teile verborgen sind und so das Seitenlayout und die Benutzererfahrung optimieren.

Erfassen Sie Mouedown-Ereignisse mit übergeordnetem Element, das Cross-Domain-Iframes enth?lt: Prinzipien und Einschr?nkungen Erfassen Sie Mouedown-Ereignisse mit übergeordnetem Element, das Cross-Domain-Iframes enth?lt: Prinzipien und Einschr?nkungen Sep 20, 2025 pm 11:00 PM

In diesem Artikel wird die Herausforderung untersucht, Mousedown-Ereignisse an Eltern-Divs zu erfassen, die Cross-Domain-IFrames enthalten. Das Kernproblem besteht darin, dass die Browser-Sicherheitsrichtlinien (gleichorientierte Richtlinien) das Direkt-DOM-Ereignis verhindern, den Inhalt des Cross-Domain-Iframe zuzuh?ren. Diese Art der Ereigniserfassung kann nur erreicht werden, es sei denn, der Name der Iframe -Quelldom?nenname wird kontrolliert und CORs konfiguriert. Der Artikel erl?utert diese Sicherheitsmechanismen im Detail und ihre Einschr?nkungen für Ereignisinteraktionen und liefert m?gliche Alternativen.

Implementieren Sie die vertikale Stapelung von Elementen im Bootstrap Flexbox -Layout: Von Seite zu Ebene Implementieren Sie die vertikale Stapelung von Elementen im Bootstrap Flexbox -Layout: Von Seite zu Ebene Sep 21, 2025 pm 10:42 PM

Bei der Verwendung von Bootstrap für das Webseiten -Layout sto?en Entwickler h?ufig auf das Problem, dass Elemente nebeneinander nicht nebeneinander angezeigt werden, insbesondere wenn der übergeordnete Container das Flexbox -Layout anwendet. In diesem Artikel wird diese gemeinsame Layout-Herausforderung in der Tiefe untersucht und eine L?sung bereitgestellt: Durch Anpassung des Flex-Regisseur-Attributs des Flex-Containers an die Spalte, indem Sie die Flex-Column-Werkzeugklasse von Bootstrap verwenden, um die korrekte vertikale Anordnung von H1-Tags und Inhaltsbl?cken wie Formularen zu erreichen, um sicherzustellen, dass die Seitenstruktur den Erwartungen entspricht.

Wie mache ich Text um ein Bild in HTML um ein Bild? Wie mache ich Text um ein Bild in HTML um ein Bild? Sep 21, 2025 am 04:02 AM

UsecsssfloatPropertytowraptextaroundArtanimage: FloatleftForteTheright, FloatrightForteTonTheleft, AddmarginForspacing und ClearfloatStopreventlayoutissues.

So setzen Sie das Lang -Attribut in HTML So setzen Sie das Lang -Attribut in HTML Sep 21, 2025 am 02:34 AM

SettthelangattributeInhtmltagtospecifypagelanguage, z. B. Forenglish; 2. usesocodes-?hnliche "Es" frespanishor "fr" forfremch;

JavaScript externe Funktionsaufruf Schwierigkeitsgrad Analyse: Skriptsposition und Benennungsspezifikation JavaScript externe Funktionsaufruf Schwierigkeitsgrad Analyse: Skriptsposition und Benennungsspezifikation Sep 20, 2025 pm 10:09 PM

In diesem Artikel werden zwei h?ufigste Probleme untersucht, wenn Sie externe JavaScript-Funktionen in HTML aufrufen: Unangemessene Skriptladezeit führt dazu, dass DOM-Elemente nicht st?ndig sind, und die Funktion des Funktionsbenennens kann mit integrierten Browser-Ereignissen oder -Keywords in Konflikt stehen. Der Artikel enth?lt detaillierte L?sungen, einschlie?lich der Optimierung der Skriptreferenzpositionen und der Befolgung der Spezifikationen für gute Funktionen, um sicherzustellen, dass der JavaScript -Code korrekt ausgeführt wird.

Wie füge ich in HTML einen Tooltip für Hover hinzu? Wie füge ich in HTML einen Tooltip für Hover hinzu? Sep 18, 2025 am 01:16 AM

UseethetititleattributeforSmpletoolTipSorcssforcustom-Styledones.1.Addtitle = "Text" to AnyElementFortefaulttooltips.2

Wie erstelle ich einen Hyperlink für eine E -Mail -Adresse in HTML? Wie erstelle ich einen Hyperlink für eine E -Mail -Adresse in HTML? Sep 16, 2025 am 02:24 AM

UsemailTo: DiereftocreateEemaillinks.StartWithforbasiclinks, add? Subjekt = und & body = forpre gefülltesContent, und includemultiPleaddresSorcc =, BCC = Foradvancedoptions.

See all articles