Skocz do zawartości

[php]jeżeli checkbox jest zaznaczony...


Thobby

Rekomendowane odpowiedzi

No więc mam plik php, w którym mam jakiś formularz, a w tym formularzu checkboxy. I chce dorobić w php że w miejscach, gdzie checkbox jest zaznaczony, obok pojawia się inny input, tym razem textowy. Więc za pomocą instrukcji warunkowych trzeba by sprawdzić, czy dany checkbox jest zaznaczony, czy nie. I niestety nie wiem jak to zrobić :(

Odnośnik do komentarza
Udostępnij na innych stronach

Tak, z tym że trzeba by przejść do innej podstrony, a mi zależy na tym żeby oglądający pozostał na tej samej. W sumie tylko sobie ćwicze to całe php, nie jest to żaden konkretny projekt. Ale za pomoc byłbym wdzięczny :P

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Nie wiem o co Ci chodzi. PHP wygeneruje Ci nowy kod tylko, gdy strona zostanie przeładowana a zatem:

a ) naciśniejsz guzik odśwież

b ) wybierzesz jakiś link

c ) wybierzesz submit w formularzu

Opcja c) wcale nie oznacza, że wyświetli się inna strona - możesz nadal wyświetlić tą samą, ale ją przeładować (np. jak sie rejestrujesz gdzieś i nie podasz loginu, to masz ten sam formularz plus info, że nie ma loginu podane).

 

Jeżeli jednak pole ma być dodane dynamicznie - to tylko JavaScript pomoże. Można pole ukryć, lub tworzyć, to już jak tam chcesz (jeżeli checkbox włącza/wyłącza, to lepiej ukryć). Polecam jQuery, wtedy można zrobić tak:

<script>
$(document).ready(function(){
$("#zaznacz").click(function(){
if ( $('input[id=szk2]').is(':checked') ) {$("#ukryty").show();} else { $("#ukryty").hide(); }
});
});
</script>

<input type="checkbox" id="zaznacz"/>
<div style="display: none;" id="ukryty"><input type="text"></div>

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli masz inputa nazwanego ABC to jeśli jest on checkboxem i zostanie on zaznaczony to otrzymasz w PHP zmienną $_GET['ABC'] z wartością value z inputa, w przeciwnym wypadku jej nie będzie.

Oczywiście zakładamy, że wysyłasz metodą GET, analogicznie będzie dla POST.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Dla przykładu - na gmclan.org masz tylko stronę index.php jeżeli zauważyłeś - to jest jeden plik, a wyświetlasz w nim wszystko, newsy, download, shoutboxa, kometarze, ankiety ... nie zmieniając strony.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Kuffa. Po raz czwarty piszę, że JavaScriptem można. Ja proponuję natomiast bibliotekę jQuery, bo ułatwia pisanie skryptów w JavaScripcie poprzez zbiór gotowych funkcji i znacznie skraca kod.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Ale w JS zrobiłeś jakąś instrukcję bez funkcji, więc nie zadziała. Poza tym, argument nie jest w ' ' zatem JS i tak się wykrzaczy (polecam używanie FireBuga do wykrywania błędów).

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy
costam($nr)

W JS nie używa się znaku dolara do oznaczania zmiennych.

 

Ciekawe, bo na znaku dolara opiera się całe jQuery, czy MooTools. Zasmucę Cię, ale można używać znaku $. Miłego sprawdzania:

 

<script language="javascript">
$ = 'xxx';
$x = 'yyy';
</script>

<a onclick="alert($+$x);">test</a>

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

document.getElementById('id-elementu');

- koniecznie w ' ' :)

 

Ja bym jednak pobrał jQuery i zrobił tak

 

<script language="Javascript">
function sprawdz()
{
alert( $('input[name=comment]').val() );
}
</script>

<input name="comment" type="text"> <input type="button" value="Sprawdz" onclick="sprawdz();">

 

lub

 

<script language="Javascript">
function sprawdz()
{
alert( $('#comment').val() );
}
</script>

<input id="comment" type="text"> <input type="button" value="Sprawdz" onclick="sprawdz();">

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...