Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Formularz, Wymuszenie zaznaczenia pola
Kas
post
Post #1





Grupa: Zarejestrowani
Postów: 425
Pomógł: 0
Dołączył: 28.05.2005
Skąd: Warszawa

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


Robię newsletter w php. I chciałbym aby pole do wpisania adres mail było zablokowane do czasu zaznaczenia pola "Akceptuję regulamin". Po kliknięciu na to pole tekstowe ma być natychmiast odblokowane.
Jak to zrobić? (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Ten post edytował Kas 28.06.2005, 19:56:07
Go to the top of the page
+Quote Post
crash
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


  1. <form name="test" ...>
  2. <input type="text" disabled name="pole"/>
  3. <input type="checkbox" onclick="window.test.pole.disabled = false;"/>
  4. </form>
Go to the top of the page
+Quote Post
Kas
post
Post #3





Grupa: Zarejestrowani
Postów: 425
Pomógł: 0
Dołączył: 28.05.2005
Skąd: Warszawa

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


Coś działać nie chce.

  1. <form action="zapisz.php" method="post" name="newsletter">
  2. <input type="text" name="adres" size="12" disabled>
  3. <br>
  4. <br>
  5. <input type="checkbox" onclick="window.newsletter.adres.disabled = false;">Akceptuję <a href="index.php?strona=new_reg">regulami</a>
  6.  
  7. <br>
  8. <br>
  9.  
  10. <input type="submit" name="send" value="Zapisz" class="glosuj">
  11.  
  12. </form>
Go to the top of the page
+Quote Post
crash
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


A u mnie to działa (Opera)...
Go to the top of the page
+Quote Post
Kas
post
Post #5





Grupa: Zarejestrowani
Postów: 425
Pomógł: 0
Dołączył: 28.05.2005
Skąd: Warszawa

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


U mnie nie działa (Mozilla Firefox 1.0.4).
I nie wiem w czym jest błąd.

Pole tekstowe jest zablokowane (tak jak trzeba).
Pole do zaznaczenia też jest poprawnie.
Ale po wybraniu opcji "Akceptuję regulamin" nic się nie zmienia. (IMG:http://forum.php.pl/style_emoticons/default/mad.gif)
Help!

Ten post edytował Kas 28.06.2005, 20:52:44
Go to the top of the page
+Quote Post
NoiseMc
post
Post #6





Grupa: Zarejestrowani
Postów: 398
Pomógł: 10
Dołączył: 24.11.2004
Skąd: Łódź

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


  1. <script type="text/javascript" language="javascript">
  2. function wlaczAdres ()
  3. {
  4. if ( document.getElementById ( 'Regulamin' ).checked )
  5. {
  6. document.getElementById ( 'Adres' ).disabled = false;
  7. }
  8. else
  9. {
  10. document.getElementById ( 'Adres' ).disabled = true;
  11. }
  12. }
  13. </head>
  14.  
  15. <form action="zapisz.php" method="post">
  16.  
  17. Adres:
  18. <input type="text" name="Adres" id="Adres" size="12" disabled> <br>
  19.  
  20. Akceptuję <a href="index.php?strona=new_reg">regulamin</a>:
  21. <input type="checkbox" name="Regulamin" id="Regulamin" onClick="wlaczAdres ();"> <br>
  22.  
  23. <input type="submit" value="Zapisz">
  24. </form>
  25. </body>
  26. </html>


Działa pod FF i pod IE
Go to the top of the page
+Quote Post
Kas
post
Post #7





Grupa: Zarejestrowani
Postów: 425
Pomógł: 0
Dołączył: 28.05.2005
Skąd: Warszawa

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


Spokojnie - chyba nie trzeba tyle. Wystarczyło zmienić jedną rzecz...

  1. <form action="zapisz.php" method="post" name="newsletter">
  2. <input type="text" name="adres" size="12" disabled value="Twój mail">
  3. <br>
  4. <br>
  5. <input type="checkbox" onclick="newsletter.adres.disabled = false;">&nbsp;Akceptuję <a href="index.php?strona=new_reg" class="menu">regulamin</a>
  6.  
  7. <br>
  8. <br>
  9.  
  10. <input type="submit" name="send" value="Zapisz" class="glosuj">
  11.  
  12. </form>


Ale jak zrobić teraz aby po zaznaczeniu i odznczeniu opcji "Akceptuję regulamin" pole było znów nie aktywne?
Jaka funkcja javy jest za to odpowiedzialna (za odznaczenie)?

Ten post edytował Kas 29.06.2005, 08:26:09
Go to the top of the page
+Quote Post
revyag
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

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


Kod
function c(check) {
    if(check.checked==true) {
        document.newsletter.adres.disabled="";
    } else {
        document.newsletter.adres.disabled="disabled";
    }
}

  1. <input type="text" name="adres" size="12" disabled="disabled" value="Twój mail" /><br /><br />
  2. <input type="checkbox" onclick="c(this)" />
Go to the top of the page
+Quote Post
Kas
post
Post #9





Grupa: Zarejestrowani
Postów: 425
Pomógł: 0
Dołączył: 28.05.2005
Skąd: Warszawa

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


Ehhhh...
A nie da się prościej?
Ja chciałem to zrobić np. tak.

  1. <input type="checkbox" onchange="newsletter.adres.disabled = false;" onblur="newsletter.adres.disabled = true;" class="wybor">&nbsp;Akceptuję <a href="index.php?strona=new_reg" class="menu">regulamin</a>


Ale to (niestety) nie działa.
Czy ktoś umie to zrobić z użyciem onclick, onblur, onfocus oraz onchange?
Byłbym bardzo wdzięczny, bo sam testowałem i raczej mi nie wychodzi.
Błagam o pomoc!

Ten post edytował Kas 29.06.2005, 09:25:02
Go to the top of the page
+Quote Post
revyag
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

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


No można prościej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
  1. <input type="checkbox" onclick="(this.checked==true)? document.newsletter.adres.disabled='':document.newsletter.adres.disabled='disabled'">
Go to the top of the page
+Quote Post
Kas
post
Post #11





Grupa: Zarejestrowani
Postów: 425
Pomógł: 0
Dołączył: 28.05.2005
Skąd: Warszawa

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


Działa.
Revyag jesteś wielki. Dziękuję! (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Wytłumacz mi tylko proszę jak to działa, bo java script nie jest moją specjalnością.

Ten post edytował Kas 29.06.2005, 09:45:14
Go to the top of the page
+Quote Post
revyag
post
Post #12





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

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


Kod
(this.checked==true)? document.newsletter.adres.disabled='':document.newsletter.adres.disabled='disabled'

Jeśli warunek (this.checked==true) jest spełniony, to wykonywana jest operacja po znaku zapytania, w przeciwnym wypadku wykonywna jest operacja po dwukropku.
Ten zapis jest równoważny temu:
Kod
if(this.checked==true) {
document.newsletter.adres.disabled=''
} else {
    document.newsletter.adres.disabled='disabled'
}
Go to the top of the page
+Quote Post
Kas
post
Post #13





Grupa: Zarejestrowani
Postów: 425
Pomógł: 0
Dołączył: 28.05.2005
Skąd: Warszawa

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


Rozumiem. Jeszcze raz dziękuję. (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 15.09.2025 - 20:21