Późno komentarz o zresetowanie textareas.
Korzystanie z wersji Chrome Wersja 54.0.2840.99 m na komputerze z systemem Windows 10 Home Wersja, znalazłem natywną/wbudowaną funkcję resetowania, która jest wywoływana przez zwykły/niezmodyfikowany przycisk resetowania lub instrukcję form.reset() przywraca początkową wartość pola textarea, ale tylko wtedy, gdy obszar tekstowy nie został wcześniej programowo wyczyszczony, powiedzmy za pomocą niestandardowego przycisku clear, który opróżnia innerHTML textarea.
Nie można tego zaobserwować, gdy obszar tekstowy zostanie załadowany po raz pierwszy bez wartości domyślnej, ale jeśli obszar tekstowy jest zakodowany w celu wyświetlenia danych z poprzedniego wpisu formularza, to obszar tekstowy może nie być pusty, a resetowanie obszaru tekstowego powinno ustaw pole na wartość, która miała przy ładowaniu formularza.
Stwierdziłem, że domyślny atrybut textarea's defaultValue, którego używa natywny reset, jest niepoprawnie wyczyszczony po opróżnieniu innerHTML z pola tekstowego, a następnie zresetowanie powoduje jedynie wyczyszczenie obszaru tekstowego zamiast resetowania tekstu zgodnie z oczekiwaniami. Uważam, że jest to błąd, ponieważ w porównaniu do czyszczenia i resetowania innych pól wprowadzania tekstu, textarea działa inaczej.
To zachowanie "dziwnego człowieka" można obejść, dodając niestandardowy atrybut initialValue do obszaru tekstowego i przypisując do niego wartość innerHTML. Ponieważ funkcja natywnego resetowania i niestandardowego czyszczenia nie ma wpływu na atrybut niestandardowy, wartość jest zachowywana i może zostać użyta do przywrócenia wartości textarea przez zastąpienie przycisku resetowania w celu wywołania funkcji ustawiającej innerHTML textarea na wartość atrybutu initialValue następnie wywołuje funkcję form.reset(), aby obsłużyć inne pola wejściowe. Zauważ, że wywołanie funkcji form.reset() powoduje, że funkcja resetowania niestandardowego wywoływana przez zmodyfikowany przycisk reset nie wykonuje żadnego kodu po form.reset().
Możesz chcieć sprawdzić [to pytanie] (http://stackoverflow.com/questions/680241/resetting-a-multi-stage-form-w--query), gdzie koncepcja resetowania formularzy za pośrednictwem jQuery została omówione na dużą skalę. – Andrew