Ich versuche, die Formularaktion basierend auf dem ausgewählten Wert aus einem Dropdown-Menü zu ändern.
Grundsätzlich sieht der HTML-Code folgendermaßen aus:
<form class="search-form" id="search-form" method="post" accept-charset="UTF-8" action="/search/user">
<select id="selectsearch" class="form-select" name="selectsearch">
<option value="people">Search people</option>
<option value="node">Search content</option>
</select>
<label>Enter your keywords: </label>
<input type="text" class="form-text" value="" size="40" id="edit-keys" name="keys" maxlength="255" />
<input type="submit" class="form-submit" value="Search" id="edit-submit" name="search"/>
</form>
Wenn "Personen" ausgewählt ist (was standardmäßig der Fall ist), sollte die Aktion "/ search / user" sein, und wenn Inhalt ausgewählt ist, sollte die Aktion "/ search / content" sein.
Ich suche immer noch herum, konnte aber nicht herausfinden, wie das geht.
prop
anstelle vonattr
. Beispiel =$("#search-form").prop ("action", "/search/" + action);
Wenn Sie nur die Aktion des Formulars ändern möchten, ziehe ich es vor, die Aktion beim Senden des Formulars zu ändern, anstatt sie bei der Eingabe zu ändern. Es wird nur einmal ausgelöst.
quelle
Es ist besser zu benutzen
eher, als
Basierend auf Trantes Antwort haben wir also:
Durch
setAttribute
die Verwendung können Sie möglicherweise viel Zeit sparen.quelle
setAttribute
bei der Verwendung von jquery Zeit sparenattr
?Einfach und leicht in Javascipt
quelle
Ist erforderlich, dass Sie ein Formular haben?
Wenn nicht, können Sie Folgendes verwenden:
mit folgendem JavaScript:
quelle