Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] Submit aktywacja/deaktywacja, za pomocą radio
phpoint
post 22.08.2008, 16:34:34
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 18.08.2008

Ostrzeżenie: (0%)
-----


Witam,
Tym razem mam pytanie z js:
  1. Wysłać maila?
  2. <form name="formularz">
  3. <input type="radio" name="sendradio" onclick="document.formularz.send.disabled='disabled'" checked="yes" />nie
  4. <input type="radio" name="sendradio" onclick="document.formularz.send.disabled=''" />tak
  5. <input type="submit" name="send" value="Wyślij wiadomość">
  6. </form>

Założenie jest proste, chronimy formularz przed bezsensownym klikaniem, odśwież czy przycisku wyślij. W teorii powinno działać, lecz w praktyce mimo że mam zaznaczone ze nie ma byc aktywny przycisk, jest on aktywny, natomiast kiedy ponownie klikne opcję nie, wtedy dopiero się deaktywuje. Jak zrobić aby od razu po wejściu byl nieaktywny?
Go to the top of the page
+Quote Post
XDocTorX
post 22.08.2008, 16:56:21
Post #2





Grupa: Zarejestrowani
Postów: 48
Pomógł: 6
Dołączył: 16.07.2006
Skąd: Jarosław

Ostrzeżenie: (0%)
-----


nie wiem czy o to chodziło:


  1. <form name="formularz">
  2. <input type="radio" name="sendradio" onclick="document.formularz.send.disabled='disabled'" checked="yes" />nie
  3. <input type="radio" name="sendradio" onclick="document.formularz.send.disabled=''" />tak
  4. <input type="submit" name="send" value="Wyślij wiadomość">
  5. </form>
  6. <script type="text/javascript">document.formularz.send.disabled='disabled';</script>


[edit]
może lepiej tak:

  1. <form name="formularz">
  2. <input type="radio" name="sendradio" onclick="document.formularz.send.disabled='disabled'" checked="yes" />nie
  3. <input type="radio" name="sendradio" onclick="document.formularz.send.disabled=''" />tak
  4. <input type="submit" name="send" disabled="disabled" value="Wyślij wiadomość">
  5. </form>


Ten post edytował XDocTorX 22.08.2008, 17:00:54
Go to the top of the page
+Quote Post
phpoint
post 22.08.2008, 17:03:02
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 18.08.2008

Ostrzeżenie: (0%)
-----


banał - dzięki!
Go to the top of the page
+Quote Post
darth_sidious
post 22.09.2008, 20:15:42
Post #4





Grupa: Zarejestrowani
Postów: 66
Pomógł: 1
Dołączył: 19.12.2005

Ostrzeżenie: (0%)
-----


Witajcie...

Pozwole sobie troche temat odswiezyc borykam sie bowiem z podobnym problemem... A mianowicie powyzsza technika probuje uzyskac efekt 'disable' dla submita, ale pol radio jest kilka. Uzytkownik musi wybrac rodzaj wysylki (2 radio), rodzaj platnosci (3 radio), rodzaj dokumentu (2 radio). Chodzi generalnie o to, ze uzytkownik musi kliknac 'radio' kazdego rodzaju, wtedy dopiero submit staje sie aktywne
W jaki sposob powyzszy kod moglbym dopasowac do moich potrzeb....

Pozdrawiam
Darth


--------------------
Fotografia ślubna Tomaszów Mazowiecki
Go to the top of the page
+Quote Post
nevt
post 22.09.2008, 20:56:07
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


są dwa proste rozwiązania:

1. wymusić "klikanie po kolei", to znaczy na początku włączone jest tylko pierwsze radio a pozostałe radio i submit są disabled. po kliknięciu w pierwsze radio odblokować drugie... itd.. a ostatnie odblokowuje submit

2. zamiast submit wstawić zwykły button do jego onclick przypisać funkcję JS która sprawdzi czy są wybrane odpowiednie radio i wyśle formularz albo wyrzuci alerta z ostrzeżeniem, to w zasadzie zwykła walidacja formularza...

powodzenia


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
darth_sidious
post 22.09.2008, 22:05:30
Post #6





Grupa: Zarejestrowani
Postów: 66
Pomógł: 1
Dołączył: 19.12.2005

Ostrzeżenie: (0%)
-----


Skorzystalem z Twojego '1' rozwiazania, niby proste, a jednak cos nie dziala... Tzn dziala jedynie ostatnie 'radio', ktore odblokowywuje submita...
Kod formularza ponizej:

  1. <form action="zamow2.php" method="post" name="final">
  2. Dokument sprzedaży:<br />
  3. <input type="radio" name="dokument" value="Faktura" onclick="document.final.dostawa.disabled=''"/>Faktura<br />
  4. <input type="radio" name="dokument" value="Paragon" onclick="document.final.dostawa.disabled=''"/>Paragon<br />
  5. <br /><br />
  6. Forma dostawy:<br />
  7. <input type="radio" name="dostawa" value="1" disabled="disabled" onclick="document.final.platnosc.disabled=''"/>Wysyłka<br />
  8. <input type="radio" name="dostawa" value="2" disabled="disabled" onclick="document.final.platnosc.disabled=''"/>Odbiór osobisty<br />
  9. <br /><br />
  10. Wybierz formę płatności:<br />
  11. <input type="radio" name="platnosc" value="przedplata" disabled="disabled" onclick="document.final.dalej.disabled=''" />Przdpłata przelewem na konto sklepu (dodatkowy rabat 2,5%)<br />
  12. <input type="radio" name="platnosc" value="gotowka" disabled="disabled" onclick="document.final.dalej.disabled=''" />Gotówką w kasie firmy (dodatkowy rabat 2,5%)<br />
  13. <input type="radio" name="platnosc" value="pobranie" disabled="disabled" onclick="document.final.dalej.disabled=''" />Za pobraniem<br /><br /><br />
  14. <input type="submit" name="dalej" value="Dalej" disabled="disabled" />
  15. </form>


Ten post edytował darth_sidious 22.09.2008, 22:06:48


--------------------
Fotografia ślubna Tomaszów Mazowiecki
Go to the top of the page
+Quote Post
golaod
post 23.09.2008, 08:33:52
Post #7





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


function _check()
{
if(_poziom1 == 1 && _poziom2 == 1 && _poziom3 == 1)
return 1;
else
return 0;
}
var _poziom1 = 0;
var _poziom2 = 0;
var _poziom3 = 0;

I teraz przypuśćmy przesyłka: onClick="_poziom1 = 1;if(_check()==1){document.final.dalej.disabled='';}" dodane do input radio
tak samo z dwoma kolejnymi poziomamia radio buttonów tylko, że adekwatnie poziom2,poziom3

Lub zamiast używania tej funkcji to zamiast inputa typu submit to:
<input type="button" value="Dalej" onClick="if(_poziom1==1&&_poziom2==1&&_poziom3==1){document.final.submit();}"/>
Go to the top of the page
+Quote Post
nevt
post 23.09.2008, 08:38:05
Post #8





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


nie działa bo używasz właściwości name, w dodatku takiej samej dla różnych elementów... nie widzisz w tym sprzeczności? nadaj każdemu radio unikalne id i odwołuj się do nich przed documet.getElementById(...);


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
darth_sidious
post 23.09.2008, 22:34:08
Post #9





Grupa: Zarejestrowani
Postów: 66
Pomógł: 1
Dołączył: 19.12.2005

Ostrzeżenie: (0%)
-----


nevt - wielkie dzieki o takie rozwiazanie mi wlasnie chodzilo...

Oto co zmienilem w onClick'u w elemencie radio:

  1. onClick="document.getElementById( 'dostawa_1' ).disabled = false;document.getElementById( 'dostawa_2' ).disabled = false;"


elementy o id 'dostawa_1' i 'dostawa_2' to kolejna grupa 'radio', ktora uaktywnia sie po kliknieciu wczesniejszych 'radio'....

... i znow Ciemna Strony Mocy zatriumfowala!!!

Pozdrawiam
Darth Sidious


--------------------
Fotografia ślubna Tomaszów Mazowiecki
Go to the top of the page
+Quote Post
Qbexus
post 23.10.2008, 14:24:00
Post #10





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 12.07.2006

Ostrzeżenie: (0%)
-----


Z js jestem zielony jak pietruszka a chcę uzyskać taki efekt
mam formularz
Kod
<select name="typowe">
<option value="0">------</option>
<option value="1">costam</option>
<option value="2">costam2</option>

</select>

i potem następują inne formularze różnego typu chciałbym by po wybraniu np costam aby część formularzy bez odświeżania strony przeszła w tryb nieaktywny.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.04.2024 - 19:58