-
11. Data: 2009-01-02 23:13:12
Temat: Re: JS - jak zrobić poprawnie submit formularza pod FF?
Od: "Marek" <m...@s...interia.pl>
> Spróbuj linux.forms[0].submit() ;)
eee tam... Zagadnienie dotyczy redakcyjnej części CMS'a. Jeśli nie masz
FF/IE/NN lub Opery to na drzewo :-)
-
12. Data: 2009-01-02 23:36:56
Temat: Re: JS - jak zrobić poprawnie submit formularza pod FF?
Od: porneL <n...@p...net>
On Fri, 02 Jan 2009 23:13:12 -0000, Marek <m...@s...interia.pl> wrote:
>> Spróbuj linux.forms[0].submit() ;)
>
> eee tam... Zagadnienie dotyczy redakcyjnej części CMS'a. Jeśli nie masz
> FF/IE/NN lub Opery to na drzewo :-)
Nie wiem o co ci chodzi. Zrozumiałeś, że wytknąłem ci błąd w skrypcie?
--
this.author = new Geek("porneL");
-
13. Data: 2009-01-02 23:45:27
Temat: Re: JS - jak zrobić poprawnie submit formularza pod FF?
Od: porneL <n...@p...net>
On Fri, 02 Jan 2009 22:44:28 -0000, Marek <m...@s...interia.pl> wrote:
> Natomiast w chwili gdy wybierzemy z tabeli niżej jakiś rekord do
> korekty, to formularz wypełnia się danymi i oba przyciski stają się
> aktywne. Teraz domyślnym przyciskiem jest "aktualizuj wybrany" i enter
> na jakimkolwiek polu formularza generuje action="?mode=update". Jednakże
> w tym stanie ręczne zastosowanie przycisku "zapisz nowy rekord" ustawi
> action="?mode=addNew" przed submitem.
Pole mode nie musi być w GET.
Można tak (choć kIEpski wymaga hacków):
<button name=mode value=addNew>dodaj nowy</button>
<button name=mode value=update>aktualizuj</button>
w IE działa takie coś (zamiast sprawdzać wartość mode, sprawdzasz obecność jednego z
pól):
<input name=mode_addNew value="dodaj">
<input name=mode_update value="aktualizuj">
Kliknięty submit wysyła swój value, choć to, który zostanie wysłany przy wciśnięciu
enter jest zależne od przeglądarki (może być pierwszy submit w formularzu albo
pierwszy za polem mającym focus).
Można też:
<input type=hidden name=mode value=...>
i zmieniać to wtedy, gdy zmieniasz inne pola formularza.
--
http://sblam.com
this.author = new Geek("porneL");
-
14. Data: 2009-01-03 08:57:33
Temat: Re: JS - jak zrobić poprawnie submit formularza pod FF?
Od: Maciej Łebkowski <m...@e...com>
Dnia 02-01-2009 o 23:44:28 Marek <m...@s...interia.pl> napisał(a):
>> No ale to tak czy inaczej formularz.onsubmit trzeba użyć.
> A może inaczej. Przedstawię Ci konkretny przypadek a może podpowiesz mi
> lepsze rozwiązanie niż stosuję obecnie. Otóż mamy formularz z paroma polami.
[nowy vs aktualizuj]
To bym zmienił gdzieś wyżej. Np dodając checkboks
[x] Skopiuj rekord i utwórz z niego nowy
[*Zapisz*]
Bo jak będą dwa "zielone" guziki, to można się łatwo pomylić przy klikaniu :)
Albo na liście rekordów dwie opcje - klonuj / edytuj.
A na dwóch przyciskach - tak jak napisał pornel, nie trzeba
wcale zmieniać action, wystarczy użyć dwóch nazw submitów.
--
Maciej Łebkowski
-
15. Data: 2009-01-03 11:59:04
Temat: Re: JS - jak zrobić poprawnie submit formularza pod FF?
Od: Paweł Piskorz <n...@p...nie?>
Marek pisze:
>> Wstaw submita to tak się będzie działo.
>
> Nie jest to prawdą.
Bezedura.
> <input ... onKeyPress="windows.forms[0].submit()"> nie działa
Fajnie, że najważniejsze wyciąłeś. Poczytaj sobie jak się robi submity:
http://www.w3.org/TR/html4/interact/forms.html#edef-
INPUT
--
message[autor="PablO"]::after {
content:"Pozdrawiam";
}
-
16. Data: 2009-01-03 18:11:42
Temat: Re: JS - jak zrobić poprawnie submit formularza pod FF?
Od: "Marek" <m...@s...interia.pl>
> Nie wiem o co ci chodzi. Zrozumiałeś, że wytknąłem ci błąd w skrypcie?
Szczerze mówiąc nie (małe litery?)... zresztą jest on nieistotny. Generalnie
chodziło mi o przechwytywanie zdarzenia onkeypress, które w FF zachwuje się
w sposób bezużyteczny w omawianym zastosowaniu. Przykład jaki przytaczam
obrazuje ideę jaką zastosowałem - nie jest kodem źródłowym. Fizyczna
realizacja jest zupełnie inna. JS sam podpina zdarzenia do pól tekstowych.
-
17. Data: 2009-01-03 18:22:38
Temat: Re: JS - jak zrobić poprawnie submit formularza pod FF?
Od: "Marek" <m...@s...interia.pl>
>>> Wstaw submita to tak się będzie działo.
>>
>> Nie jest to prawdą.
>
> Bezedura.
Zależy co masz na myśli pod pojęciem submit, <intput type="submit"> czy
<input ... onKeyPress="tu_submitowanie()"> czy jeszcze coś innego. Wszystko
to pełni rolę submita. To drugie działa niewłaściwie pod FF - sprawdziłem
osobiście. Stąd nieniejszy wątek.
> Fajnie, że najważniejsze wyciąłeś. Poczytaj sobie jak się robi submity:
> http://www.w3.org/TR/html4/interact/forms.html#edef-
INPUT
Tu są tylko trywialne przypadki: formularz, HTML'owy submit i reset. Ja
tymczasem potrzebuję min. 2 submity w dodatku w różnych sytuacjach albo 1
albo 2gi ma być domyślnym (reagować na enter).
-
18. Data: 2009-01-03 18:36:19
Temat: Re: JS - jak zrobić poprawnie submit formularza pod FF?
Od: "Marek" <m...@s...interia.pl>
> Pole mode nie musi być w GET.
Hmm.. może faktycznie to zmienię na POST'a. Również łatwo będzie można
sterować wartością z poziomu PHP jak i JS... Ale chwila - mam inny pomysł -
opis na końcu.
> Można tak (choć kIEpski wymaga hacków):
Wolałbym unikać jaiś obejść jeśli da się zrobić coś "grzecznie".
> Kliknięty submit wysyła swój value, choć to, który zostanie wysłany przy
> wciśnięciu enter jest zależne od przeglądarki (może być pierwszy submit w
> formularzu albo pierwszy za polem mającym focus).
Na losowość nie mogę sobie pozwolić :-) Jednakże ustawianie jakiegoś
ukrytego pola rozwiąże problem.
> <input type=hidden name=mode value=...>
>
> i zmieniać to wtedy, gdy zmieniasz inne pola formularza.
No właśnie :-)
A oto pomysł:
Z poziomu PHP wypełniamy action formularza "?mode=akca_domyslna". Przyciski
add i update mogą nadal bez przerabiania ok. setki stron w części
redakcyjnej CMS'a działać po staremu: czyli też modyfikować action. Usuwamy
"wrażliwość" inputów na enter i zastępujemy ją ukrytym <input
type="submit">, który służy tylko do akceptacji domyślnej akcji. W ten
sposób enter bedzie bez obsługi ze strony JS i zadziała wszędzie poprawnie.
Mam rację czy coś przeoczyłem?
-
19. Data: 2009-01-03 19:15:41
Temat: Re: JS - jak zrobić poprawnie submit formularza pod FF?
Od: porneL <n...@p...net>
On Sat, 03 Jan 2009 18:36:19 -0000, Marek <m...@s...interia.pl> wrote:
> A oto pomysł:
> Z poziomu PHP wypełniamy action formularza "?mode=akca_domyslna".
> Przyciski add i update mogą nadal bez przerabiania ok. setki stron
Generalnie tak, ale "przerabiania ok. setki stron" u mnie włącza alarm. Na prawdę
musisz edytować setkę plików? czy masz na myśli jeden szablon do setki plików?
--
this.author = new Geek("porneL");
-
20. Data: 2009-01-03 19:17:18
Temat: Re: JS - jak zrobić poprawnie submit formularza pod FF?
Od: porneL <n...@p...net>
On Sat, 03 Jan 2009 18:11:42 -0000, Marek <m...@s...interia.pl> wrote:
>> Nie wiem o co ci chodzi. Zrozumiałeś, że wytknąłem ci błąd w skrypcie?
>
> Szczerze mówiąc nie (małe litery?)...
Zamiast windows powinno być window. Jeśli masz 's' też na stronie, to nic dziwnego,
że pod Firefoksem to nie działa.
--
this.author = new Geek("porneL");