Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Submit aktywacja/deaktywacja
Forum PHP.pl > Forum > Przedszkole
phpoint
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?
XDocTorX
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>
phpoint
banał - dzięki!
darth_sidious
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
nevt
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
darth_sidious
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>
golaod
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();}"/>
nevt
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(...);
darth_sidious
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
Qbexus
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.