Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JS] zaznaczanie checkboxa
__ice
post
Post #1





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

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


witam,
coś mi nie trybi - prosiłbym o wskazówki.

mam taki o to formularz:

Kod
<form method="post" name="forma">
<input type="checkbox" name="1"> Ilość: <input type="text" name="ilosc[1]" onclick="zaznacz(1);" /><br>
<input type="checkbox" name="2"> Ilość: <input type="text" name="ilosc[2]" onclick="zaznacz(2);" /><br>
<input type="checkbox" name="3"> Ilość: <input type="text" name="ilosc[3]" onclick="zaznacz(3);" /><br>
<input type="checkbox" name="4"> Ilość: <input type="text" name="ilosc[4]" onclick="zaznacz(4);" /><br>
...
</form>



na końcu wstawiłem wielokropek, ponieważ forma jest generowana przez php w zależności od wyników pobranych z bazy (pól może być 4, ale może być też ich 100).

chodzi o to, by po wpisaniu czegoś w polu
Kod
<input type="text" name="ilosc[4]" onclick="zaznacz();" />
był automatycznie zaznaczany
Kod
<input type="checkbox" name="4">
a automatycznie odznaczany, gdy input będzie pusty lub zostanie do niego wpisana wartość 0 (ta funkcja ma działać dla wszystkich pól).

oto funkcja zaznacz (mam tylko zaznaczanie po kliknięciu na edita, prosiłbym też o wskazówki jak resztę napisać):

Kod
function zaznacz(prod_id)
{
    document.getElementById(prod_id).checked = true;
}


tak więc prosiłbym o wskazówki, bo jakoś nie mogę nic wymyśleć ... będę mocno wdzięczny !

pozdrawiam,
Miłosz
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
devnul
post
Post #2





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


funkcja zaznacz zaznacza element o podanym id, identyfikatorem nie może być sama liczba, ale nie tylko to jest powodem Twoich zmartwień, Ty zwyczajnie nie deklarujesz nigdzie ID dla pól checkbox
poprawny kod powinien wyglądać na przykład tak:
  1. <form method="post" name="forma">
  2. <input type="checkbox" name="1" id="checkbox_1"> Ilość: <input type="text" name="ilosc[1]" onclick="zaznacz('checkbox_1');" /><br>
  3. <input type="checkbox" name="2" id="checkbox_2"> Ilość: <input type="text" name="ilosc[2]" onclick="zaznacz('checkbox_2');" /><br>
  4. <input type="checkbox" name="3" id="checkbox_3"> Ilość: <input type="text" name="ilosc[3]" onclick="zaznacz('checkbox_3');" /><br>
  5. <input type="checkbox" name="4" id="checkbox_4"> Ilość: <input type="text" name="ilosc[4]" onclick="zaznacz('checkbox_4');" /><br>
  6. ...
  7. </form>

i powinno to chulać


--------------------
Profesjonaliści są przewidywalni...
strzeż się amatorów...
FL4SHB4CK - imprezy, galerie, lokale
Go to the top of the page
+Quote Post
__ice
post
Post #3





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

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


ok, wszystko ok jest w tym momencie, ale ...

to połowa sukcesu.

teraz chciałbym żeby checkbox zaznaczał się po wpisaniu czegoś w inputa (to mam zrobione), ale żeby po usunięciu tekstu z inputa lub wpisanie do niego 0 się odznaczał (tego nie mam ogarniętego). Próbowałem z atrybutem inputa onChange -> oka, checkbox zaznacza się, gdy coś wpisuję do inputa, ale nie odznacza się, gdy z tegoż inputa wszystko usuwam ... i to jest w tej chwili główny problem sciana.gif
Go to the top of the page
+Quote Post
devnul
post
Post #4





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


zrób coś takiego
  1. <input type="checkbox" name="1" id="checkbox_1"> Ilość: <input type="text" name="ilosc[1]" onclick="zaznacz(this,'checkbox_1');" />

Kod
function zaznacz(input_obj,prod_id)
{
if (input_obj.value=='' || input_obj.value=='0'){
    document.getElementById(prod_id).checked = false;
} else {
    document.getElementById(prod_id).checked = true;
}
}

i będzie smigać


--------------------
Profesjonaliści są przewidywalni...
strzeż się amatorów...
FL4SHB4CK - imprezy, galerie, lokale
Go to the top of the page
+Quote Post
__ice
post
Post #5





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

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


Śmiga, dzięki !
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: 19.08.2025 - 18:31