Saya mencoba mengubah tindakan formulir berdasarkan nilai yang dipilih dari menu dropdown.
Pada dasarnya, HTML terlihat seperti ini:
<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>
Jika "orang" dipilih, (yang secara default), tindakannya seharusnya "/ search / user", dan jika konten dipilih, tindakannya harus "/ search / content"
Saya masih mencari-cari, tetapi belum bisa mengetahui bagaimana melakukan ini.
prop
sebagai gantiattr
. Contoh =$("#search-form").prop ("action", "/search/" + action);
Jika Anda hanya ingin mengubah tindakan formulir, saya lebih suka mengubah tindakan pada-formulir-kirim, bukan pada-input-perubahan. Tembakannya hanya sekali.
sumber
Lebih baik digunakan
daripada
Jadi, berdasarkan jawaban trante yang kami miliki:
Menggunakan
setAttribute
dapat menghemat banyak waktu Anda secara potensial.sumber
setAttribute
menghemat waktu lebih lama daripada menggunakan jqueryattr
?Sederhana dan mudah di javascipt
sumber
Apakah Anda diharuskan memiliki formulir?
Jika tidak, maka Anda dapat menggunakan ini:
dengan JavaScript berikut:
sumber