dj.drezyna Posted March 1, 2013 Report Share Posted March 1, 2013 Mam oto taki kod zamieszczony poniżej. I co mam zrobić by po wciśnięciu przycisku enter formularz nie wysyłał się tylko jak to jest w kodzie, ustawił pole value inputa na 'Wcisnąłem enter...'? Czyli żeby formularz był wysłany ale dopiero po kliknięciu w przycisk wyślij, albo po wciśnięciu entera ale jak nie jest zaznaczone pole inputa typu text. W załączonym przykładzie pokazuję też, że korzystam z zatrzymania propagacji oraz zachowania domyślnego i nie działa to tak jak powinno i jest opisane wyżej. Kod JS function zdarzenie() { var tekst = document.getElementById('tekst'); tekst.onkeyup = function(zda) { zda.stopPropagation(); zda.preventDefault(); if (zda.keyCode == 13) { tekst.value = 'Wcisnąłem enter...'; } }; } Kod HTML <body onload="zdarzenie();"> <form action="./?wyslano=tak" method="get"> <input type="text" name="tekst" id="tekst" /> <input type="submit" value="Wyślij" /> </form> </body> Galeria przyrodnicza http://fotokrajobrazy.warmia.pl Link to comment Share on other sites More sharing options...
dj.drezyna Posted March 1, 2013 Author Report Share Posted March 1, 2013 Tak to już chyba jest, że dopóki nie napiszę posta na tym forum mózg nie wypracuje rozwiązania. W każdym razie trzeba to zrobić w następujący sposób: function zdarzenie() { var tekst = document.getElementById('tekst'); tekst.onkeydown = function(zda) {//zmieniamy z keyup na keydown //zda.stopPropagation();//niepotrzebne if (zda.keyCode == 13) { zda.preventDefault(); //przenosimy tu tekst.value = 'Wcisnąłem enter...'; } }; } Mam nadzieję, że komuś się przyda! Galeria przyrodnicza http://fotokrajobrazy.warmia.pl Link to comment Share on other sites More sharing options...
5corpio Posted March 1, 2013 Report Share Posted March 1, 2013 Zanim zauważyłem drugi post zacząłem się właśnie zastanawiać czemu to preventDefault() niby nie działa u ciebie Ot taka mini-strona moja po godzinach http://www.wnetrzekuchni.pl Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.