Chcę wyczyścić wszystkie pola wprowadzania i pola tekstowe w formularzu. Działa w następujący sposób, gdy używasz przycisku wprowadzania z reset
klasą:
$(".reset").bind("click", function() {
$("input[type=text], textarea").val("");
});
Spowoduje to wyczyszczenie wszystkich pól na stronie, nie tylko tych z formularza. Jak wyglądałby mój selektor dla samej formy, w jakiej znajduje się rzeczywisty przycisk resetowania?
Odpowiedzi:
źródło
input[type=password]
pól.W przypadku jQuery 1.6+ :
Dla jQuery <1.6 :
Zobacz ten post: Resetowanie wieloetapowego formularza za pomocą jQuery
Lub
Jak sugeruje jQuery :
źródło
$(':input').not(':button, :submit, :reset, :hidden').removeAttr('checked').removeAttr('selected').not(':checkbox, select').val('').removeAttr('value');
. Spowoduje to usunięcie wartości domyślnych (tzn.value="something"
Nie dotyczy pól wyboru ani zaznaczeń.$(':input').not(':button, :submit, :reset, :hidden').removeAttr('checked').removeAttr('selected').not(':checkbox, :radio, select').val('');
Z jakichś powodów nie należy tego używać?
źródło
form
, robisz to źle. Miałbyś rację, gdyby selektor byłform
, ale to raczej selektor ID#form
.$("form").trigger('reset');
naprawdę wyzwala zdarzenie „reset” na WSZYSTKICH<form>
elementach. W większości przypadków może być źle. Ale$("#form").trigger('reset');
(pokazane w oryginalnej odpowiedzi) wyzwala tylko zdarzenie „reset” dla elementu, który ma ustawiony identyfikator „forma” (osiągalny za pomocą#form
selektora). I tak, jeden identyfikator powinien być użyty tylko raz, dlatego nazywają go „id”, ponieważ identyfikuje on jeden element jednoznacznie.Nie będzie to obsługiwać przypadków, w których pola wejściowe formularza mają niepuste wartości domyślne.
Coś jak powinno działać
źródło
jeśli użyjesz selektorów i dodasz wartości do pustych wartości, to nie resetuje formularza, powoduje, że wszystkie pola są puste. Resetowanie polega na utworzeniu formularza takim, jaki był przed wszelkimi czynnościami edycji dokonanymi przez użytkownika po załadowaniu formularza ze strony serwera. Jeśli istnieje dane wejściowe o nazwie „nazwa użytkownika”, a nazwa ta została wstępnie wypełniona po stronie serwera, większość rozwiązań na tej stronie usunie tę wartość z danych wejściowych, nie resetując jej do wartości sprzed zmiany użytkownika. Jeśli musisz zresetować formularz, użyj tego:
jeśli nie musisz resetować formularza, ale wypełniasz wszystkie dane wejściowe pewną wartością, na przykład pustą wartością, możesz użyć większości rozwiązań z innych komentarzy.
źródło
Proste, ale działa jak urok.
źródło
Jeśli ktoś nadal czyta ten wątek, oto najprostsze rozwiązanie, które nie używa jQuery, ale zwykłego JavaScript. Jeśli pola wejściowe znajdują się w formularzu, istnieje proste polecenie resetowania JavaScript:
Więcej o tym tutaj: http://www.w3schools.com/jsref/met_form_reset.asp
Twoje zdrowie!
źródło
źródło
Dlaczego w ogóle trzeba to robić za pomocą dowolnego JavaScript?
http://www.w3.org/TR/html5/the-input-element.html#attr-input-type-ke words
Oto sposób na zrobienie tego za pomocą jQuery:
źródło
.live()
jest przestarzałe, a także powolne / niepotrzebne. Możesz po prostu użyć.bind()
lub.on()
.Jeśli chcesz opróżnić wszystkie pola wprowadzania, niezależnie od ich typu, jest to minuta
źródło
Mam najłatwiejszy sposób na zresetowanie formularza
lub
źródło
Za pomocą Javascript możesz to po prostu zrobić za pomocą tej składni
getElementById("your-form-id").reset();
możesz także użyć jquery, wywołując w ten sposób funkcję resetowania
$('#your-form-id')[0].reset();
Pamiętaj, żeby nie zapomnieć
[0]
. Otrzymasz następujący błąd, jeśliJQuery zapewnia również zdarzenie, którego możesz użyć
Próbowałem i to działa.
Uwaga: Należy zauważyć, że metody te resetują formularz tylko do wartości początkowej ustawionej przez serwer podczas ładowania strony. Oznacza to, że jeśli dane wejściowe zostały ustawione na wartość „ustaw wartość” przed dokonaniem przypadkowej zmiany, pole zostanie zresetowane do tej samej wartości po wywołaniu metody resetowania.
Mam nadzieję, że to pomoże
źródło
gdzie
editPOIForm
jestid
atrybut twojego formularza.źródło
#editPOIForm
więc.each()
metoda nie ma sensu. Nawet jeśli dodasz ten identyfikator do wielu formularzy, zwróci tylko jeden z nich.$('#editPOIForm').get(0).reset();
Dlaczego nie używasz
document.getElementById("myId").reset();
? to jest proste i ładneźródło
Testowany i zweryfikowany kod:
Javascript musi być włączony
$(document).ready
i musi być zgodny z twoją logiką.źródło
Najłatwiejszym i najlepszym rozwiązaniem jest-
$("#form")[0].reset();
Nie używaj tutaj -
$(this)[0].reset();
źródło
form.reset();
zresetuje się do tych wartości i nie wyczyści danych wejściowych.Powiedzmy, że jeśli chcesz wyczyścić pola i oprócz accountType, w polu średniego czasu zostanie przywrócona konkretna wartość, tj. „Wszystkie”. Pozostałe pola powinny zostać zresetowane do pustych, tj. Pole tekstowe. Takie podejście zostanie zastosowane do wyczyszczenia konkretne pola jako nasze wymaganie.
źródło
Używam tego :
A oto mój przycisk:
źródło
Użyj tego kodu, w którym chcesz wywołać funkcję normalnego resetowania przez jQuery
I napisz tę funkcję Out Site jQuery na Document Ready
źródło
Niektórzy z was narzekali, że radiotelefony są usuwane z domyślnego statusu „zaznaczone” ... Wystarczy dodać: radio,: selektory pola wyboru do .not, a problem został rozwiązany.
Jeśli nie możesz uruchomić wszystkich innych funkcji resetowania, zadziała ta.
Na podstawie odpowiedzi Ngen
źródło
frmID
jest identyfikacja formularzaOnSuccess
operacji nazywamy funkcją JavaScript o nazwie „ClearInput
”jeśli wykonasz oba te prawa, nie będziesz w stanie zatrzymać działania ...
źródło
Poniższy kod wyczyści cały formularz, a jego pola będą puste. Jeśli chcesz wyczyścić tylko określony formularz, jeśli strona ma więcej niż jeden formularz, podaj identyfikator lub klasę formularza
źródło
Jeśli chcę wyczyścić wszystkie pola oprócz accountType..Użyj następujących
źródło
kod, który widzę tutaj i dotyczące powiązanych pytań SO, wydaje się niekompletny.
Zresetowanie formularza oznacza ustawienie oryginalnych wartości z kodu HTML, dlatego zestawiłem to dla małego projektu, który wykonywałem na podstawie powyższego kodu:
Daj mi znać, jeśli coś mi brakuje lub coś można poprawić.
źródło
Żadne z powyższych nie działa w prostym przypadku, gdy strona zawiera wywołanie kontroli użytkownika, które obejmuje przetwarzanie żądań IHttpHandler (captcha). Po wysłaniu żądania (do przetwarzania obrazu) poniższy kod nie usuwa pól w formularzu (przed wysłaniem żądania HttpHandler) wszystko działa poprawnie.
źródło
Napisałem uniwersalną wtyczkę jQuery:
źródło
Dodaj ukryty przycisk resetowania w następujący sposób
źródło
$ („formularz”). submission (function () {
});
źródło