Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Chechbox on click -> reszta checkboxów
cadavre
post 22.01.2006, 00:32:33
Post #1





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

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


Jak zrobić, aby po zaznaczeniu checkboxa pojawiły się (lub uaktywniły z "szarości") powiedzy cztery pozostałe checkboxy z możliwością zaznaczenia. Nie zależy mi na Ajaxach i innych wodotryskach. tongue.gif


--------------------
Silesian PHP User Group - www.spug.pl
Symfony2, OAuth2, budowanie API - masz pytania? Pisz!
Go to the top of the page
+Quote Post
LBO
post 22.01.2006, 01:23:13
Post #2





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


np. tak.. nie jest to moze najelegantsze rozwiazanie, ale da ci ogolne pojecie:
Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script language="javascript">
function odblokuj() {
    document.form1.ch2.disabled = false;
    document.form1.ch3.disabled = false;
    document.form1.ch4.disabled = false;
};
</script>
</head>
<body>
<form action="" method="get" name="form1">
<input name="ch1" type="checkbox" value="ch1v" onclick="odblokuj()" />
<!-- wczesniej chcialem uzyc metody onChange, ale nie dziala w operze 7, a w IE z bledami -->
<input name="ch2" type="checkbox" disabled value="ch2v" />
<input name="ch3" type="checkbox" disabled value="ch3v" />
<input name="ch4" type="checkbox" disabled value="ch4v" />
</form>
</body>
</html>

dziala pod IE, firefoxem, opera 7/8, netscape 7/8, mozilla 1.7/1.8
Go to the top of the page
+Quote Post
cadavre
post 22.01.2006, 12:20:17
Post #3





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

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


Działa, ale po odznaczeniu pierwszego można dalej zaznaczać pozostałe.
Przydałoby się dorobić drugą funkcję blokuj(); (z tym nie ma problemu), ale jak ją zaaplikować dla ch1, bo zdarzenie onclick jest już zajęte.


--------------------
Silesian PHP User Group - www.spug.pl
Symfony2, OAuth2, budowanie API - masz pytania? Pisz!
Go to the top of the page
+Quote Post
Wave
post 22.01.2006, 12:25:52
Post #4





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 13.01.2005

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


Trzeba by dać do odblokuj() instrukcję warunkową. Jeżeli piewszy jest odznaczony, to blokuj pozostałe.
Go to the top of the page
+Quote Post
crash
post 22.01.2006, 12:27:16
Post #5





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

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


A tak nie starczy:
  1. <script type="text/javascript">
  2. function showHide()
  3. {
  4. document.frm.ch2.disabled = document.frm.ch3.disabled = document.frm.ch4.disabled = !document.frm.ch1.checked;
  5. }
  6. <form action="" name="frm">
  7. <input name="ch1" type="checkbox" value="ch1v" onclick="showHide();"/>
  8. <input name="ch2" type="checkbox" disabled="disabled" value="ch2v"/>
  9. <input name="ch3" type="checkbox" disabled="disabled" value="ch3v"/>
  10. <input name="ch4" type="checkbox" disabled="disabled" value="ch4v"/>
  11. </form>


--------------------
Go to the top of the page
+Quote Post
cadavre
post 22.01.2006, 15:22:01
Post #6





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

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


crash - działa jak trzeba, ale jeszcze jedno: jak to zrobić gdy name="" jest zawsze takie samo?
Próbowałem:
  1. <script language="javascript">
  2. function showHide()
  3. {
  4. document.frm.prawa.disabled = !document.frm.zalogowani.checked;
  5. }
  6. <form action="" name="frm">
  7. <input name="zalogowani" type="checkbox" value="glowny" onclick="showHide();"/>
  8. <input name="prawa" type="checkbox" disabled="disabled" value="abc"/>
  9. <input name="prawa" type="checkbox" disabled="disabled" value="def"/>
  10. <input name="prawa" type="checkbox" disabled="disabled" value="ghi"/>
  11. </form>


--------------------
Silesian PHP User Group - www.spug.pl
Symfony2, OAuth2, budowanie API - masz pytania? Pisz!
Go to the top of the page
+Quote Post
LBO
post 22.01.2006, 16:14:12
Post #7





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


ja nie widze sensu dawac w tym przykladzie taka sama nazwe... ale jezeli musisz znac odpowiedz to mozna wykorzystac metode JavaScript getElementById() i do kazdego inpyt dodc znacznik z ID:
Kod
<script language="javascript">
function showHide()
{
document.getElementById('inp1').disabled = document.getElementById('inp2').disabled = document.getElementById('inp3').disabled = !document.frm.zalogowani.checked;
}
</script>
<form action="" name="frm">
<input name="zalogowani" type="checkbox" value="glowny" onclick="showHide();"/>
<input name="prawa" id="inp1"  type="checkbox" disabled="disabled" value="abc"/>
<input name="prawa" id="inp2" type="checkbox" disabled="disabled" value="def"/>
<input name="prawa" id="inp3" type="checkbox" disabled="disabled" value="ghi"/>
</form>


chociaz..naprawde nie ma to sensu.. NAME jest wtedy nieprzydatne

Ten post edytował LBO 22.01.2006, 16:17:41
Go to the top of the page
+Quote Post
cadavre
post 22.01.2006, 16:42:58
Post #8





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

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


No to jednak będę to musiał wsadzić w całości do php. :/
Bo każdy element checkbox będzie generowany pętlą. Dodam do tego $a=0; $a++ i żeby wstawiał $a w id.


--------------------
Silesian PHP User Group - www.spug.pl
Symfony2, OAuth2, budowanie API - masz pytania? Pisz!
Go to the top of the page
+Quote Post
crash
post 22.01.2006, 17:03:41
Post #9





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

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


Jeśli nie chcesz tracić danych z tych checkbox'ów to pamiętaj o dodaniu do nazwy [] żeby przesłana została tablica, a nie tylko ostatania wartość.


--------------------
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: 7.07.2025 - 04:40