-
1. Data: 2010-10-15 15:48:07
Temat: enter w inpucie wysyla formularz
Od: gienek <n...@c...pl>
Mam pytanko. Kiedy user wpisuje jakies dane do pola textowego i wcisnie
enter to wysyła mi formularz... w sumie nie przeszkadzałoby mi to tak
bardzo, bo user raczej rzadko przechodzi między inputami wciskając enter,
ale mam jedno pole (lista rozwijana), gdzie user zawsze wciska enter no i
robi sie kiszka.
Pytanko co wcisnąć do kodu żeby tym eneterem nie wysyłał formularza?
-
2. Data: 2010-10-15 16:37:31
Temat: Re: enter w inpucie wysyla formularz
Od: Peter May <p...@o...pl>
W dniu 2010-10-15 17:48, gienek pisze:
> Mam pytanko. Kiedy user wpisuje jakies dane do pola textowego i wcisnie
> enter to wysyła mi formularz... w sumie nie przeszkadzałoby mi to tak
> bardzo, bo user raczej rzadko przechodzi między inputami wciskając enter,
> ale mam jedno pole (lista rozwijana), gdzie user zawsze wciska enter no i
> robi sie kiszka.
>
> Pytanko co wcisnąć do kodu żeby tym eneterem nie wysyłał formularza?
<select id="myselect"></select>
<script type="text/javascript>
document.getElementById("myselect").onchange = function(){ return false; }
</script>
--
Peter
-
3. Data: 2010-10-15 17:25:52
Temat: Re: enter w inpucie wysyla formularz
Od: gienek <n...@c...pl>
Dnia Fri, 15 Oct 2010 18:37:31 +0200, Peter May napisał(a):
> W dniu 2010-10-15 17:48, gienek pisze:
>> Mam pytanko. Kiedy user wpisuje jakies dane do pola textowego i wcisnie
>> enter to wysyła mi formularz... w sumie nie przeszkadzałoby mi to tak
>> bardzo, bo user raczej rzadko przechodzi między inputami wciskając
>> enter, ale mam jedno pole (lista rozwijana), gdzie user zawsze wciska
>> enter no i robi sie kiszka.
>>
>> Pytanko co wcisnąć do kodu żeby tym eneterem nie wysyłał formularza?
>
> <select id="myselect"></select>
>
> <script type="text/javascript>
> document.getElementById("myselect").onchange = function(){ return false;
> } </script>
Hmmm... mam
<form onsubmit="sprawdz(this); return false;" name="form" id="form"
method="post" action="save.php"> ale to nic nie daje...
to Twoje tez nic, pewnie dlatego, ze nie mam selecta tylko pole tekstowe
wiec onchange tu nie pasi... probowalem z onkeypress ale tez nic z tego
probowalem wcisnac return false; i tez kiszka
-
4. Data: 2010-10-15 17:39:49
Temat: Re: enter w inpucie wysyla formularz
Od: gienek <n...@c...pl>
moze zapodam kawalek kodu...
ponizsze zdazenie zachodzi jak lista z podpowiedziami jest rozwinieta i
user po najechaniem na dana podpowiedz kliknie enter...
else if (keyCode == 13)
{
document.getElementById("pole").value = wartosc;
schowajliste(nr)
return false;
}
function schowajliste(nr)
{
try { document.getElementById("lista").style.display = "none"; }
catch(e){}
}
ja oczekiwalem, ze wykona sie schowajliste() i zakonczy sie zywot
funkcji :) tymczasem on i owszem chowa liste... to co trzeba sadzi do
inputa, ale zaraz po tym wysyla mi formularz :(
tzn. probuje wyslac bo <form onsubmit="sprawdz(this); return false;" ....
probuje sprawdzic formularz i znajdujac niewypelnione pola wali alert....
-
5. Data: 2010-10-15 17:41:23
Temat: Re: enter w inpucie wysyla formularz
Od: Peter May <p...@o...pl>
W dniu 2010-10-15 19:25, gienek pisze:
> Dnia Fri, 15 Oct 2010 18:37:31 +0200, Peter May napisał(a):
>
>> W dniu 2010-10-15 17:48, gienek pisze:
>>> Mam pytanko. Kiedy user wpisuje jakies dane do pola textowego i wcisnie
>>> enter to wysyła mi formularz... w sumie nie przeszkadzałoby mi to tak
>>> bardzo, bo user raczej rzadko przechodzi między inputami wciskając
>>> enter, ale mam jedno pole (lista rozwijana), gdzie user zawsze wciska
>>> enter no i robi sie kiszka.
>>>
>>> Pytanko co wcisnąć do kodu żeby tym eneterem nie wysyłał formularza?
>>
>> <select id="myselect"></select>
>>
>> <script type="text/javascript>
>> document.getElementById("myselect").onchange = function(){ return false;
>> }</script>
>
> Hmmm... mam
> <form onsubmit="sprawdz(this); return false;" name="form" id="form"
> method="post" action="save.php"> ale to nic nie daje...
<form onsubmit="return sprawdz(this);">
function sprawdz()
{
[...]
return false;
}
> to Twoje tez nic, pewnie dlatego, ze nie mam selecta tylko pole tekstowe
> wiec onchange tu nie pasi... probowalem z onkeypress ale tez nic z tego
> probowalem wcisnac return false; i tez kiszka
Nie masz select-a, a piszesz "mam jedno pole (lista rozwijana)", więc
stąd myślałem, że masz select-a.
Można też tak:
<form action="">
<input type="text" id="mybutton" value="" name="mybutton" />
</form>
<script type="text/javascript">
document.getElementById("mybutton").onkeypress = function(e)
{
if(!e) e = window.event;
var key = (e.type == 'keypress') ? e.charCode || e.keyCode || e.which
: e.which || e.keyCode;
if(key == 13){ return false; }
}
</script>
--
Peter
-
6. Data: 2010-10-15 19:14:39
Temat: Re: enter w inpucie wysyla formularz
Od: Borys Pogoreło <b...@p...edu.leszno>
Dnia Fri, 15 Oct 2010 15:48:07 +0000 (UTC), gienek napisał(a):
> bardzo, bo user raczej rzadko przechodzi między inputami wciskając enter,
> ale mam jedno pole (lista rozwijana), gdzie user zawsze wciska enter no i
> robi sie kiszka.
Czemu wciska enter i czemu chcesz psuć funkcjonalność formularza przez
jednego uzytkownika, który nie wie jak używać komputera?
--
Borys Pogoreło
borys(#)leszno,edu,pl
-
7. Data: 2010-10-15 19:23:20
Temat: Re: enter w inpucie wysyla formularz
Od: Peter May <p...@o...pl>
W dniu 2010-10-15 21:14, Borys Pogoreło pisze:
> Dnia Fri, 15 Oct 2010 15:48:07 +0000 (UTC), gienek napisał(a):
>
>> bardzo, bo user raczej rzadko przechodzi między inputami wciskając enter,
>> ale mam jedno pole (lista rozwijana), gdzie user zawsze wciska enter no i
>> robi sie kiszka.
>
> Czemu wciska enter i czemu chcesz psuć funkcjonalność formularza przez
> jednego uzytkownika, który nie wie jak używać komputera?
Niech tak robi :P Potem skasujesz kasę za poprawki.
--
Peter
-
8. Data: 2010-10-16 09:16:08
Temat: Re: enter w inpucie wysyla formularz
Od: gienek <n...@c...pl>
Dnia Fri, 15 Oct 2010 21:14:39 +0200, Borys Pogoreło napisał(a):
> Dnia Fri, 15 Oct 2010 15:48:07 +0000 (UTC), gienek napisał(a):
>
>> bardzo, bo user raczej rzadko przechodzi między inputami wciskając
>> enter, ale mam jedno pole (lista rozwijana), gdzie user zawsze wciska
>> enter no i robi sie kiszka.
>
> Czemu wciska enter i czemu chcesz psuć funkcjonalność formularza przez
> jednego uzytkownika, który nie wie jak używać komputera?
Poniewaz jak sie pokazuje lista z podpowiedziami (autouzupelniacz) to user
albo kliknie myszka na wybrana podpowiedz, albo bedzie w tym celu uzywal
klawiatury (strzałki góra/dół) i w końcu na wybraną podpowiedź wciśnie
enter :)
Cała zabawa polega teraz na tym, żeby po kliknięciu entera skrypt nie
próbował wysłać formularza tylko np. dal fokusa na nastepnego inputa.
niestety ten kod (właściwie kawałek) tego nie robi.
-
9. Data: 2010-10-16 17:06:48
Temat: Re: enter w inpucie wysyla formularz
Od: Borys Pogoreło <b...@p...edu.leszno>
Dnia Sat, 16 Oct 2010 09:16:08 +0000 (UTC), gienek napisał(a):
> Cała zabawa polega teraz na tym, żeby po kliknięciu entera skrypt nie
> próbował wysłać formularza tylko np. dal fokusa na nastepnego inputa.
> niestety ten kod (właściwie kawałek) tego nie robi.
Tak na szybko i z głowy pod jQuery:
$("select").keypress(function(e){
if (e.which == 13) return false;
});
Ew. e.preventDefault();
Coś powinno zadziałać ;)
--
Borys Pogoreło
borys(#)leszno,edu,pl
-
10. Data: 2010-10-16 17:13:36
Temat: Re: enter w inpucie wysyla formularz
Od: Peter May <p...@o...pl>
W dniu 2010-10-16 19:06, Borys Pogoreło pisze:
> Dnia Sat, 16 Oct 2010 09:16:08 +0000 (UTC), gienek napisał(a):
>
>> Cała zabawa polega teraz na tym, żeby po kliknięciu entera skrypt nie
>> próbował wysłać formularza tylko np. dal fokusa na nastepnego inputa.
>> niestety ten kod (właściwie kawałek) tego nie robi.
>
> Tak na szybko i z głowy pod jQuery:
>
> $("select").keypress(function(e){
> if (e.which == 13) return false;
> });
>
> Ew. e.preventDefault();
>
> Coś powinno zadziałać ;)
A po co do tego jQuery?
--
Peter