Kłaniam się forumowiczom,
jestem bardzo początkującym, można by rzec hobbystycznym "twórcą"* javascript i okazjonalnie potrzebuję stworzyć coś prostego na własne potrzeby w oparciu o javascript.
Mam problem tak jak w tytule - mianowicie piszę prosty kod, który wypełnia mi formularz na stronie określonymi danymi, po czym klika w button. Początkowo wspomniany button jest nieaktywny. Każde pole formularza, aby zostało zweryfikowane poprawnie i w efekcie uaktywniło wspomniany button, musi zostać "od kliknięte" (stracić focus) po wypełnieniu, inaczej skrypt tak jakby nie widzi tego, że pola zostały wypełnione. Tak więc pola w formularzu wypełniam metodą val(), wszystkie te pola są rodzaju: input=text. Po wypełnieniu wywołuję metodę change() by formularz "zobaczył" zmianę wartości pola.
Problem: kiedy wypełniam pole samym tekstem change() działa i wszystko jest ok, natomiast kiedy wypełniam pole cyframi, adresem email, datą itp. change() nie załącza się i formularz nie widzi zmiany.
Czy i jak można sobie z tym poradzić? Pracuję nad tym od prawie 3-ech tygodni, przejrzałem chyba cały stackoverflow i jemu podobne, ale za nic nie mogę dojść do tego, jak rozwiązać ten problem.
Poniżej metoda jaką stosuję wypełniając i aktywując pola:
var wartosc = "wartoscpola";
$("#pole1").val(wartosc);
var selections = document.querySelector('#pole1');
var evt = document.createEvent("HTMLEvents");
evt.initEvent("change", true, true);
selections.dispatchEvent(evt);
Serdecznie proszę o pomoc. Za wskazówkę stawiam piwo po podaniu namiarów na PayPal :)
- oczywiście nie "twórcą" a raczej "programistą" jak zdążył zauważyć Patryk27, bo samego języka rzeczywiście nie stworzyłem ani nie tworzę ;)