Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php/html] Zapamiętanie wartości przy błędym wysłaniu formularza
kaszanka
post
Post #1





Grupa: Zarejestrowani
Postów: 138
Pomógł: 1
Dołączył: 17.02.2007

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


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">


Ten post edytował kaszanka 7.02.2008, 01:49:25
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
nowotny
post
Post #2





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

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


Nie bardzo rozumiem problem... możesz jaśniej...?
Go to the top of the page
+Quote Post
kaszanka
post
Post #3





Grupa: Zarejestrowani
Postów: 138
Pomógł: 1
Dołączył: 17.02.2007

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


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? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
specialplan
post
Post #4





Grupa: Zarejestrowani
Postów: 206
Pomógł: 21
Dołączył: 1.09.2006
Skąd: Edinburgh

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


Dla radio uzyj atrybutu
  1. checked="checked"
jesli zostalo zaznaczone, natomiast textarea:
  1. <textarea name="opinia" rows="4" cols="25"><?php echo $opinia; ?></textarea>


Ten post edytował specialplan 7.02.2008, 01:51:25
Go to the top of the page
+Quote Post
kaszanka
post
Post #5





Grupa: Zarejestrowani
Postów: 138
Pomógł: 1
Dołączył: 17.02.2007

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


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 ;/

Ten post edytował kaszanka 7.02.2008, 02:36:44
Go to the top of the page
+Quote Post
nowotny
post
Post #6





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

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


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. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 01:00