Thread View: pl.comp.lang.javascript
13 messages
13 total messages
Started by Marek 'Qrczak' Potocki
Wed, 23 Feb 2011 12:14
[jquery] 1.5.0 i submit()
Author: Marek 'Qrczak' Potocki
Date: Wed, 23 Feb 2011 12:14
Date: Wed, 23 Feb 2011 12:14
33 lines
1707 bytes
1707 bytes
Witam.
Mam małą zagwozdkę dotyczącą formularzy i jquery. Otóż do tej pory (jquery
1.4.2) submit realizowałem w ten sposób:
[html]
<form id='formatka' .... onSubmit='return false;'>
......
<input type='button' onClick ='wyslij();' value='wyślij' />
</form>
[js]
function wyslij(){
...
$('#formatka').submit();
}
Miało to na celu głównie wyeliminowanie wysyłania formularza enterem i
walidację formularza. Po zmianie jquery na 1.5.0 przestało działać. Wygląda
na to, że do tej pory funkcja wyslij() ignorowała radośnie onSubmit z
formularza, a teraz się do niego stosuje. Funkcja wyślij się wykonuje i
wysyła submit(), po czym formularz stwierdza, że ma zwrócić false i nic nie
robić. Teraz pytanie - czy to jest bug nowego jquery, czy starego. Jeśli
starego, to możecie mi podpowiedzieć jak zamierzony efekt poprawnie
osiągnąć?
Z góry dziękuję :)
--
Pozdrawiam z Wrocławia
Marek Potocki
Przewodnik sudecki klasy 0
Re: [jquery] 1.5.0 i submit()
Author: psychob
Date: Wed, 23 Feb 2011 12:44
Date: Wed, 23 Feb 2011 12:44
7 lines
1213 bytes
1213 bytes
$("form").submit(function () {
//wagilitacja
if nie then return false;
return true; //i tutaj normalnie leci
});
--
[ http://psychobsoftware.cba.pl/ ] <- strona domowa
Re: [jquery] 1.5.0 i submit()
Author: Peter May
Date: Wed, 23 Feb 2011 14:22
Date: Wed, 23 Feb 2011 14:22
11 lines
1093 bytes
1093 bytes
W dniu 2011-02-23 13:44, psychob pisze:
> $("form").submit(function () {
[...]
Raczej dałbym:
$("#formatka").submit(function(){
[...]
--
Peter
Re: [jquery] 1.5.0 i submit()
Author: Marek 'Qrczak' Potocki
Date: Thu, 24 Feb 2011 08:41
Date: Thu, 24 Feb 2011 08:41
31 lines
1682 bytes
1682 bytes
Dnia Wed, 23 Feb 2011 15:22:37 +0100, Peter May napisał(a):
> W dniu 2011-02-23 13:44, psychob pisze:
>> $("form").submit(function () {
> [...]
>
> Raczej dałbym:
>
> $("#formatka").submit(function(){
> [...]
Dzięki, ale albo nie działa, albo czegoś nie rozumiem.
W maksymalnym uproszczeniu robię to tak:
<form action='' id='formatka' method="get" onsubmit="return false" >
<input type="button" value="wyślij"
onclick='$("#formatka").submit(function(){
return true;
})'/>
</form>
i nie dzieje się nic.
Podobnie z resztą jak po wyrzuceniu onsubmit="return false". Wygląda,
jakby włożenie czegokolwiek do submit() kończyło działanie. Błędów w
konsoli brak, ale za to jakiejkolwiek reakcji również brak :(
--
Pozdrawiam z Wrocławia
Marek Potocki
Przewodnik sudecki klasy 0
Re: [jquery] 1.5.0 i submit()
Author: Peter May
Date: Thu, 24 Feb 2011 09:36
Date: Thu, 24 Feb 2011 09:36
59 lines
2276 bytes
2276 bytes
W dniu 2011-02-24 09:41, Marek 'Qrczak' Potocki pisze:
> Dnia Wed, 23 Feb 2011 15:22:37 +0100, Peter May napisał(a):
>
>> W dniu 2011-02-23 13:44, psychob pisze:
>>> $("form").submit(function () {
>> [...]
>>
>> Raczej dałbym:
>>
>> $("#formatka").submit(function(){
>> [...]
>
> Dzięki, ale albo nie działa, albo czegoś nie rozumiem.
>
> W maksymalnym uproszczeniu robię to tak:
>
> <form action='' id='formatka' method="get" onsubmit="return false">
> <input type="button" value="wyślij"
> onclick='$("#formatka").submit(function(){
> return true;
> })'/>
> </form>
>
> i nie dzieje się nic.
> Podobnie z resztą jak po wyrzuceniu onsubmit="return false". Wygląda,
> jakby włożenie czegokolwiek do submit() kończyło działanie. Błędów w
> konsoli brak, ale za to jakiejkolwiek reakcji również brak :(
Zrób to tak:
var func = {
init : function()
{
var d = document.forms['formatka'];
d.onsubmit = func.start;
},
start : function()
{
[tutaj kod twojej metody]
if(prawda)
{
return true;
}
else
{
return false;
}
}
};
Do tego nie potrzebne Ci jQuery. Chyba, że już korzystasz niejako w
projekcie ogólnie. :-)
--
Peter
Re: [jquery] 1.5.0 i submit()
Author: Marek 'Qrczak' Potocki
Date: Thu, 24 Feb 2011 09:48
Date: Thu, 24 Feb 2011 09:48
48 lines
2294 bytes
2294 bytes
Dnia Thu, 24 Feb 2011 10:36:01 +0100, Peter May napisał(a):
> W dniu 2011-02-24 09:41, Marek 'Qrczak' Potocki pisze:
>> Dnia Wed, 23 Feb 2011 15:22:37 +0100, Peter May napisał(a):
>>
>>> W dniu 2011-02-23 13:44, psychob pisze:
>>>> $("form").submit(function () {
>>> [...]
>>>
>>> Raczej dałbym:
>>>
>>> $("#formatka").submit(function(){
>>> [...]
>>
>> Dzięki, ale albo nie działa, albo czegoś nie rozumiem.
>>
>> W maksymalnym uproszczeniu robię to tak:
>>
>> <form action='' id='formatka' method="get" onsubmit="return false">
>> <input type="button" value="wyślij"
>> onclick='$("#formatka").submit(function(){
>> return true;
>> })'/>
>> </form>
>>
>> i nie dzieje się nic.
>> Podobnie z resztą jak po wyrzuceniu onsubmit="return false". Wygląda,
>> jakby włożenie czegokolwiek do submit() kończyło działanie. Błędów w
>> konsoli brak, ale za to jakiejkolwiek reakcji również brak :(
>
> Zrób to tak:
>
> var func = {
...
Dzięki, poeksperymentuję ;)
> Do tego nie potrzebne Ci jQuery. Chyba, że już korzystasz niejako w
> projekcie ogólnie. :-)
Korzystam i co gorsza uważam, że cholerstwo bardzo ułatwia robotę ;) Na
razie problem nie jest palący, bo jak wcześniej wspomniałem w starszej
wersji to działa.
--
Pozdrawiam z Wrocławia
Marek Potocki
Przewodnik sudecki klasy 0
Re: [jquery] 1.5.0 i submit()
Author: psychob
Date: Thu, 24 Feb 2011 14:54
Date: Thu, 24 Feb 2011 14:54
14 lines
1610 bytes
1610 bytes
Niejaki *Marek 'Qrczak' Potocki* przemówił ludzkim głosem i zadziwił
swoją mądrością _pl.comp.lang.javascript_:
> <form action='' id='formatka' method="get" onsubmit="return false">
Wyrzuć onsubmit="return false"
a reszta normalnie:
$("#formatka").submit(function () {
//wagilitacja
if nie then return false;
return true; //i tutaj normalnie leci
});
--
[ http://psychobsoftware.cba.pl/ ] <- strona domowa
Re: [jquery] 1.5.0 i submit()
Author: Marek 'Qrczak' Potocki
Date: Fri, 25 Feb 2011 06:49
Date: Fri, 25 Feb 2011 06:49
24 lines
1732 bytes
1732 bytes
Dnia Thu, 24 Feb 2011 15:54:08 +0100, psychob napisał(a):
> Niejaki *Marek 'Qrczak' Potocki* przemówił ludzkim głosem i zadziwił
> swoją mądrością _pl.comp.lang.javascript_:
>> <form action='' id='formatka' method="get" onsubmit="return false">
> Wyrzuć onsubmit="return false"
>
> a reszta normalnie:
> $("#formatka").submit(function () {
> //wagilitacja
> if nie then return false;
> return true; //i tutaj normalnie leci
> });
Tak, wtedy działa, tylko jak inaczej zabezpieczyć formularz przed wysłaniem
za pomocą entera?
Walidacja sama na wiele się nie zda, bo niektóre pola mogą być puste, a
chcę zmusić użytkowników, żeby samodzielnie kliknęli na "wyślij".
--
Pozdrawiam z Wrocławia
Marek Potocki
Przewodnik sudecki klasy 0
Re: 1.5.0 i submit()
Author: zpk
Date: Fri, 25 Feb 2011 17:56
Date: Fri, 25 Feb 2011 17:56
29 lines
2451 bytes
2451 bytes
On 25 Lut, 07:49, Marek 'Qrczak' Potocki <b...@maila.pl> wrote:
> Dnia Thu, 24 Feb 2011 15:54:08 +0100, psychob napisa (a):
>
> > Niejaki *Marek 'Qrczak' Potocki* przem wi ludzkim g osem i zadziwi
> > swoj m dro ci _pl.comp.lang.javascript_:
> >> <form action='' id='formatka' method="get" onsubmit="return false">
> > Wyrzu onsubmit="return false"
>
> > a reszta normalnie:
> > $("#formatka").submit(function () {
> > //wagilitacja
> > if nie then return false;
> > return true; //i tutaj normalnie leci
> > });
>
> Tak, wtedy dzia a, tylko jak inaczej zabezpieczy formularz przed wys aniem
> za pomoc entera?
>
> Walidacja sama na wiele si nie zda, bo niekt re pola mog by puste, a
> chc zmusi u ytkownik w, eby samodzielnie klikn li na "wy lij".
>
> --
> Pozdrawiam z Wroc awia
> Marek Potocki
> Przewodnik sudecki klasy 0
Przycisk wysyłający dać poza formularzem.
Paweł
Re: [jquery] 1.5.0 i submit()
Author: porneL
Date: Sat, 26 Feb 2011 00:07
Date: Sat, 26 Feb 2011 00:07
22 lines
1718 bytes
1718 bytes
On Fri, 25 Feb 2011 06:49:43 -0000, Marek 'Qrczak' Potocki <brak@maila.pl>
wrote:
>> a reszta normalnie:
>> $("#formatka").submit(function () {
>> //wagilitacja
>> if nie then return false;
>> return true; //i tutaj normalnie leci
>> });
>
> Tak, wtedy działa, tylko jak inaczej zabezpieczyć formularz przed
> wysłaniem za pomocą entera?
Jak to chcesz zabezpieczyć formularz przed jego prawidłowym działaniem!?
Jeżeli obsługujesz walidację prawidłowo (tzn. przez zdarzenie submit
(form.onsubmit), a nie własne wynalazki z funkcją .submit()), to wtedy nie
ma znaczenia, czy formularz wysyłany jest enterem, przyciskiem na ekranie
dotykowym, czy przez pociągnięcie spłuczki.
--
regards, porneL
Re: [jquery] 1.5.0 i submit()
Author: Marek 'Qrczak' Potocki
Date: Mon, 28 Feb 2011 07:11
Date: Mon, 28 Feb 2011 07:11
28 lines
2337 bytes
2337 bytes
Dnia Sat, 26 Feb 2011 00:07:54 -0000, porneL napisał(a):
> Jak to chcesz zabezpieczyć formularz przed jego prawidłowym działaniem!?
Wyciąłeś jak to. Chcę zmusić użytkowników, żeby klikali na 'wyślij'.
> Jeżeli obsługujesz walidację prawidłowo (tzn. przez zdarzenie submit
> (form.onsubmit), a nie własne wynalazki z funkcją .submit()), to wtedy nie
> ma znaczenia, czy formularz wysyłany jest enterem, przyciskiem na ekranie
> dotykowym, czy przez pociągnięcie spłuczki.
Tylko, że mi tutaj walidacja niewiele daje. Wyobraźmy sobie formularz, w
którym jest ileśtam rubryk. część obowiązkowa, a część fakultatywna. O ile
te pierwsze mogę zwalidować, o tyle w przypadku tych drugich nie wiem które
w tym razem powinny być wypełnione.
Pól jest sporo, al ludzie siła przyzwyczajenia z worda, czy innego excela
do kolejnej rubryki chcą przechodzić enterem. Wpisuje wartość, wciska
enter, formularz się waliduje w części obligatoryjnej i co dalej? Wysyła
się, tyle że nie wypełniony do końca.
Nie upieram się przy kombinowaniu z tym moim $("#formatka").submit(), tylko
jak na dziś nie mam innego pomysły jak to rozwiązać w sposób zadowalający
dla wszystkich.
--
Pozdrawiam z Wrocławia
Marek Potocki
Przewodnik sudecki klasy 0
Re: [jquery] 1.5.0 i submit()
Author: porneL
Date: Mon, 28 Feb 2011 19:37
Date: Mon, 28 Feb 2011 19:37
23 lines
1923 bytes
1923 bytes
On Mon, 28 Feb 2011 07:11:13 -0000, Marek 'Qrczak' Potocki <brak@maila.pl>
wrote:
> Tylko, że mi tutaj walidacja niewiele daje. Wyobraźmy sobie formularz, w
> którym jest ileśtam rubryk. część obowiązkowa, a część fakultatywna. O
> ile te pierwsze mogę zwalidować, o tyle w przypadku tych drugich nie
> wiem które w tym razem powinny być wypełnione.
> Pól jest sporo, al ludzie siła przyzwyczajenia z worda, czy innego excela
> do kolejnej rubryki chcą przechodzić enterem. Wpisuje wartość, wciska
> enter, formularz się waliduje w części obligatoryjnej i co dalej? Wysyła
> się, tyle że nie wypełniony do końca.
W takim razie polecam:
<input name="formatka_opcjonalna_nieenterowalna"
onkeypress="if (event.keyCode == 13) return false;">
albo
if (event.keyCode == 13) return confirm('Wysłać?')
--
regards, porneL
Re: [jquery] 1.5.0 i submit()
Author: Marek 'Qrczak' Potocki
Date: Tue, 01 Mar 2011 06:26
Date: Tue, 01 Mar 2011 06:26
29 lines
2141 bytes
2141 bytes
Dnia Mon, 28 Feb 2011 19:37:14 -0000, porneL napisał(a):
> On Mon, 28 Feb 2011 07:11:13 -0000, Marek 'Qrczak' Potocki <brak@maila.pl>
> wrote:
>
>> Tylko, że mi tutaj walidacja niewiele daje. Wyobraźmy sobie formularz, w
>> którym jest ileśtam rubryk. część obowiązkowa, a część fakultatywna. O
>> ile te pierwsze mogę zwalidować, o tyle w przypadku tych drugich nie
>> wiem które w tym razem powinny być wypełnione.
>> Pól jest sporo, al ludzie siła przyzwyczajenia z worda, czy innego excela
>> do kolejnej rubryki chcą przechodzić enterem. Wpisuje wartość, wciska
>> enter, formularz się waliduje w części obligatoryjnej i co dalej? Wysyła
>> się, tyle że nie wypełniony do końca.
>
> W takim razie polecam:
>
> <input name="formatka_opcjonalna_nieenterowalna"
> onkeypress="if (event.keyCode == 13) return false;">
>
> albo
>
> if (event.keyCode == 13) return confirm('Wysłać?')
Dzięki, pokombinuję :)
--
Pozdrawiam z Wrocławia
Marek Potocki
Przewodnik sudecki klasy 0
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads