2017-01-04 2 views
-1

Ich versuche ein Formular zu erstellen. Ich möchte, dass mein Kunde Text in ein Textfeld eingeben kann und dann ein Element aus einer Dropdownliste auswählen kann. Die Dropdownliste wird aus einer Datenbankabfrage erstellt, die diese in json umwandelt, und dann wird ein ausgewählter Wert des json angezeigt das Dropdown. Ich habe ein Bild angehängt das hoffe ich besser erklärt. form drawinghtml Formular mit Dropdowns Formular beim Senden senden

+0

der Drop-Down-Links. Könntest Du das erläutern ? – Ced

+0

fügen Sie event.preventDefault() zu window.onclick hinzu, um den Beitrag zu verhindern – gmdev86

+0

Hi gmdev86, die Dropdowns werden keine Links sein.Ich erhalte zwei Werte aus einer Datenbank, die jedoch nur einen dieser Werte darstellen, mit der Absicht, den anderen Wert zu verwenden, der einmalig ist, um die Daten später zu extrahieren. –

Antwort

0

Ich bin nicht sicher, dass das, was warten Sie noch, aber da Sie beantworten nicht ...

Wenn Sie dies verhindern wollen: event.preventDefault();

event.preventDefault(); gibt es nur als Band -aid fix. ZB Es verhindert ein Standardverhalten. In Ihrem Code gibt es jedoch nichts, das besagt, dass das Formular gesendet werden soll, wenn Sie auf die Schaltfläche klicken, damit es nicht gesendet werden soll. Meine Vermutung ist, dass Sie nicht eine Schaltfläche verwenden, sondern eine Schaltfläche zum Senden.

In jedem Fall können Sie die onsubmit verwenden, um Check vor dem Einreichen zu machen:

onsubmit="validateMyForm()" 

und verhindern, dass das Standardverhalten, wenn einige Bedingungen nicht erfüllt sind.


Sie sagten, dass diese Links hier als Platzhalter sind. Das hat mich sehr verwirrt, bevor ich das gelesen habe, also muss ich meine Antwort noch einmal bearbeiten. Bitte benutze das nächste Mal etwas irrelevanteres wie Spannen oder div.

Ja, Sie können in diesem Dropdown-Menü eine Eingabe haben, um Ihren Kommentar zu beantworten.


Secundo, haben Sie mehrere Dropdowns?

Dieser Teil durchläuft alle Elemente mit der Dropdown-Klasse und Sie haben nur 1 Element, also warum die Schleife? Möglicherweise haben Sie mehrere Drop-down-Menüs. Wenn Sie also auf eine beliebige Stelle auf der Seite klicken, werden alle Dropdown-Menüs geschlossen.

if (! Event.target.matches ('dropbtn'))

Was bedeutet, dass Streichhölzer? Die Taste. Wenn Sie also auf eine beliebige Stelle außer auf die Schaltfläche klicken, werden die Dropdown-Listen geschlossen. Aber möchten Sie das Dropdown-Menü schließen, wenn Sie auf ein Element des Dropdown-Menüs klicken?


Was ich versuche damit, Ihnen zu vermitteln ist, dass es Mängel zu sein, in die User Experience scheint, dass Sie versuchen zu machen.

weitere Lektüre:

+0

Das ist fantastisch, danke. Werden die Dropdown-Felder in Daten umgewandelt, die an eine PHP-Seite gesendet werden können oder muss ich die Darstellung der Liste ändern? –

+0

@ChrisField nein, nein, nein. Sie haben Links für Formulardaten verwendet. das ist falsch. Ich werde meine Antwort bearbeiten – Ced

+0

Entschuldigung für Verwirrung, ich bin ein Neuling bei diesem. –