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ć? sad.gif

Ten post edytował Kas 28.06.2005, 19:56:07


--------------------
nospor, jestem z Wami.
Alpha IT
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>


--------------------
nospor, jestem z Wami.
Alpha IT
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. mad.gif
Help!

Ten post edytował Kas 28.06.2005, 20:52:44


--------------------
nospor, jestem z Wami.
Alpha IT
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


--------------------
nospor, jestem z Wami.
Alpha IT
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


--------------------
nospor, jestem z Wami.
Alpha IT
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 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ę! 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


--------------------
nospor, jestem z Wami.
Alpha IT
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ę. biggrin.gif


--------------------
nospor, jestem z Wami.
Alpha IT
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 Aktualny czas: 22.08.2025 - 06:08