Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP][JS] losowe zaznaczenie pół w formularzu
Beneglih
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 4.06.2011

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


mam formularz z różnymi polami tzn. w zasadzie są 2 rodzaje
radio i text

i teraz chciałbym za pomocą buttona zaznaczyć losowo pola radio
może to być przycisk submit
może to być przycisk zaznaczający losowo inputy radio
może to być w php, albo js

to jest dla mnie bez różnicy

zależy mi, żeby po prostu przejść do następnej strony formularza z losowo wybranymi polami radio

jak się do tego zabrać, bo nawet nie mam żadnej sensownej koncepcji,
a w google niestety podobnego tematu czy to po polsku czy po angielsku znaleźć nie mogę...

z góry dzięki za pomoc (IMG:style_emoticons/default/biggrin.gif)

Ten post edytował Beneglih 26.06.2011, 19:16:26
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sadistic_son
post
Post #2





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


W php to tak... każde pole checkbox powinno wyglądać mniej więcej tak:
  1. echo '<input type="checkbox" name="nazwa" ';
  2. $r=rand(0,1);
  3. if($r>0){
  4. echo 'checked="checked" ';
  5. }
  6. echo ' />';
To daje 50% szans, że pole będzie zaznaczone. Pozmieniaj przedziały w funkcji rand aby prawdopodobieństwo było większe lub mniejsze. Np dla rand(0,2) i warunku if($r>0) już 66% szans zaznaczenia. Natomiast dla rand(0,2) i warunku if($r>1) tylko 33% że będzie zaznaczone.

EDIT. Opisałem checkbox ale dla radio będzie analogicznie. Ale pamiętać trzeba, że nie może być zaznaczone więcej niż jedno pole o tej samej nazwie. Czyli trzeba zrobić tak:
  1. $i=0;
  2. $r=rand(0,1);
  3. echo '<input type="radio" name="radio1" ';
  4. if($r>0){
  5. echo 'checked="checked" ';
  6. $i++;
  7. }
  8. echo '/>';
  9.  
  10. $r=rand(0,3);
  11. echo '<input type="radio" name="radio1" ';
  12. if($r>0 && $i==0){
  13. echo 'checked="checked" ';
  14. $i++;
  15. }
  16. echo '/>';
  17.  
  18. $i=0;
  19. $r=rand(0,1);
  20. echo '<input type="radio" name="radio2" ';
  21. if($r>0){
  22. echo 'checked="checked" ';
  23. $i++;
  24. }
  25. echo '/>';
Itd. Po prostu przed każdymi następnymi radio o następnej nazwie trzeba wyzerować $i.

I jeszcze jedno. Aby pole drugie miało taką samą sznsę jak pierwsze, że zostanie zaznaczone, czyli np. 50% to musi mieć łatwiej czyli dla rand(0,1) dla pierwszego pola drugie musi już mieć rand(0,3) i warunek if($r>0 && $i==0). Chyba dobrze rozumuję. Głowy nie daję, ale trop dobry.

Ten post edytował sadistic_son 26.06.2011, 19:35:57
Go to the top of the page
+Quote Post

Posty w temacie


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: 11.10.2025 - 11:16