Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/html] Zapamiętanie wartości przy błędym wysłaniu formularza
Forum PHP.pl > Forum > Przedszkole
kaszanka
Hi,

Mając prosty formularz z opcją sprawdzania poprawności wprowadzonych danych wysyłając go (input=submit) i np. gdy napotkamy warunek gdzie do danego input'a wartość jest źle wprowadzona, że tak powiem - widzimy co zostało wprowadzone dzięki
  1. <input type="text" name="imie" value="<? echo $imie; ?>">

Ale jak to zrobić w przypadku posiadania
  1. <input type="radio" name="typ" value="<? echo $typ; ?>">
nie działa.
Tak samo tyczy się to
  1. <textarea name="opinia" rows="4" cols="25">
nowotny
Nie bardzo rozumiem problem... możesz jaśniej...?
kaszanka
hmm,

Mam prosty formularz:
  1. <form method="POST" action="">
  2. <input type="text" name="imie" value="<? echo $imie; ?>">
  3. <input type="radio" name="grupa1">grupa nr1
  4. <input type="radio" name="grupa2">grupa nr2
  5. <textarea name="uwagi" rows="4" cols="23"></textarea>
  6. <input type="SUBMIT" name="send" value="Wyślij">

I chodzi o to, że po wysłaniu danych w polu "name=imie" widnieje wprowadzona wartość ale dla pól grupa1/grupa2 oraz uwagi już nie - dane te po prostu znikają a chcę by pozostawały jak przy polu "imie".

jaśniej? smile.gif
specialplan
Dla radio uzyj atrybutu
  1. checked="checked"
jesli zostalo zaznaczone, natomiast textarea:
  1. <textarea name="opinia" rows="4" cols="25"><?php echo $opinia; ?></textarea>
kaszanka
No właśnie dla radio to nie działa gdyż albo zaznacza od razu wszystkie input'y z radio albo w ogóle.

PS. z dwóch input'ów radio można wybrać tylko jeden i ten ma zostać zapamiętany przy wysłaniu formularza.

EDIT:
Ok, poradziłem sobie z tym za pomocą sprawdzania warunków if.. chociaż za ładnie to to nie wygląda ;/
nowotny
Cytat(kaszanka @ 7.02.2008, 01:59:03 ) *
No właśnie dla radio to nie działa gdyż albo zaznacza od razu wszystkie input'y z radio albo w ogóle.

PS. z dwóch input'ów radio można wybrać tylko jeden i ten ma zostać zapamiętany przy wysłaniu formularza.

Działa... tylko trzeba to dobrze zrobić...
Pola typu radio wyświetlamy za pomocą pętli gdzie wszystkie dane pobieramy z tablicy a potem sprawdzamy i porównujemy kolejne elementy z tablicą POST...
  1. <?php
  2. $radios_array=array('grupa1'=>'grupa nr2', 'grupa2'=>'grupa nr2');
  3. foreach($radios_array as $value=>$text){
  4. echo '<input type="radio" name="grupa" value="'.$value.'"';
  5. if($_POST['grupa']==$value) echo ' checked="checked"';
  6. echo'>'.$text;
  7. }
  8. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.