Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js] dwa formularze w jednym?
colinQ
post
Post #1





Grupa: Zarejestrowani
Postów: 340
Pomógł: 2
Dołączył: 25.12.2006

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


Chcę zrobić takie coś:

[ tutaj po kliknieciu "losuj" pokazuje sie login z bazy ]-----[losuj]
[ wybór ataku ]
[ok]


i chcę aby po kliknięciu na losuj php wykonało zapytanie typu SELECT i wczytało pole "log" do tego pola w formularzu.

I po każdym kliknięciu robiłoby to samo tylko że np. inny login... bo z bazy wyszukiwałby losowo...

później należałoby wybrać atak i kliknąć "ok" i do tej samej strony wysłanybyłby formularz z loginem i atakiem...

Jak to rozwiązać? Dwa formularze? i je jakoś połączyć?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
lord_t
post
Post #2





Grupa: Zarejestrowani
Postów: 603
Pomógł: 131
Dołączył: 24.07.2007
Skąd: Górny Śląsk

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


Tak jak piszesz, 2 formularze + ajax ( w przypadku pierwszego formularza ).
Go to the top of the page
+Quote Post
colinQ
post
Post #3





Grupa: Zarejestrowani
Postów: 340
Pomógł: 2
Dołączył: 25.12.2006

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


Hm. Obszedłem to JavaScriptem, ale nie do końca...

  1. <?php
  2. function sabotaz_pokaz_form() {
  3.  
  4. echo '<form method="post" name="fm">';
  5. echo "<input type='text' name='lol' readonly>";
  6. echo '<input onclick=funkcja(); type=button value=alue><br><br>';
  7. echo '<select name="nazwa_sab">';
  8. echo '<option value="1">uprowadzenie zołnierzy</option>';
  9. echo '<option value="2">uprowadzenie urzędnika</option>';
  10. echo '<option value="3">porwanie maszyny</option>';
  11. echo '<option value="4">kradzież surowców</option>';
  12. echo '<option value="5">kradzież gotówki</option>';
  13. echo '<option value="6">wysadzenie budynku</option>';
  14. echo '</select><br><br>';
  15. echo '<input type="submit" value="wykonaj!">';
  16. echo '</form>';
  17.  
  18. }
  19. ?>


  1. (...)
  2. <script language='javascript'>
  3. function funkcja(){
  4. fm.lol.value += '<? $a = 1; $b = 2; $c = $a+$b; echo $c; ?>';
  5. }
  6. </script>
  7. <? 
  8.  
  9. sabotaz_pokaz_form();
  10.  
  11. ?>
  12. (...)



I gdy wstawię to do zwykłego pliku php (np. form.php) to śmiga dobrze...

A gdy mam 2 pliki, jeden z funkcją drugi z wyświetlaniem to nie śmiga...

Klikam na "alue" i nic sie nie dzieje... HELP

(konsola błędów: fm is not definded)
Go to the top of the page
+Quote Post
Hazel
post
Post #4





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

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


No ten błąd mówi o tym, że powinieneś raczej zacząć stosować metodę getElementById(), bo nie widzi samej nazwy formularza.
Go to the top of the page
+Quote Post
colinQ
post
Post #5





Grupa: Zarejestrowani
Postów: 340
Pomógł: 2
Dołączył: 25.12.2006

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


mam:
  1. (...)
  2. <script language='javascript'>
  3. function funkcja(form){
  4. form.gracz.value = '<? $a = szukaj_gracza(); echo $a['log']; ?>';
  5. }
  6. </script>
  7. (...)
  8. echo "<input type='text' name='gracz' readonly>";
  9. echo '<input onclick="funkcja(this.form);" type=button value=alue><br><br>';


Funkcja szukaj_gracza() wyszukuje losowego uzytk. z bazy...

I to w zasadzie działa ale:

Jak mam już 1 wyszukanego i chce wyszukać kolejnego to muszę odświeżyć stronę/ wejść na nią ponownie...

Da się zrobić tak że co kliknę "alue" to on mi ponownie wyszuka innego gracza bez odswierzania strony?
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(colinQ @ 10.02.2008, 13:28:09 ) *
Da się zrobić tak że co kliknę "alue" to on mi ponownie wyszuka innego gracza bez odswierzania strony?

Da się... ajaxem...
Go to the top of the page
+Quote Post
colinQ
post
Post #7





Grupa: Zarejestrowani
Postów: 340
Pomógł: 2
Dołączył: 25.12.2006

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


JavaScript tez pewnie się da...
Go to the top of the page
+Quote Post
Hazel
post
Post #8





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

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


Nie da się. PHP ma to do siebie, że bez odświeżania strony nic nie poradzisz w samym PHP + JS.
Musisz zaprząc AJAX, który asynchronicznie bedzie wysyłał żądanie do pliku PHP, tam zostanie wylosowany wyszukany z bazy nowy gracz, i dokładnie tak jak chcesz - bez odświeżania strony, jego dane pojawią się na stronie.
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: 14.09.2025 - 21:24