Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> dane z formularza bez przycisku submit
oximus
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 19.04.2005
Skąd: Tychy

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


witam,
w formularzu mam dwie rozwijane listy domyslnie ustawione na wartosci nic1 i nic2. Jak zrobic by po wyborze jakichkolwiek danych (ale w obu) listach wyslac formularz bez przycisku submit?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
kszychu
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


Dla każdej listy w onChange ustaw funkcję, która będzie sprawdzała, czy zmienione zostały domyślne wartości dla obu list (lista.value != 'nic1' && lista2.value != 'nic2'). Jeśli tak, to wywołaj document.formularz.submit()
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




ja to zrobilem trochę inaczej:


przy zalozeniu, ze opcja nic jest pierwsza na liscie
  1. <select name="s1" onchange="if (oki(this,'s2')) submit();">
  2. .....
  3. <select name="s2" onchange="if (oki(this,'s1')) submit();">
  4. .....

i funkcja js:
Kod
function oki(s,sname){
if (s.selectedIndex && document.getElementById(sname).selectedIndex)  return true;
return false;
}
Go to the top of the page
+Quote Post
oximus
post
Post #4





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 19.04.2005
Skąd: Tychy

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


Może mi to ktoś bardziej łopatologicznie wytłumaczyć? Załóżmy, że mam jedną listę a nie dwie. Gdzie mam wstawić ten javascript? Nad tym php ?
Mam takie cuś poniżej. Kompletnie nie rozumiem tego skryptu. Lista się włącza, ale po wybraniu nic się nie dzieje.
Kod
<script language="javascript"><!--
function oki(s,sname){
if (s.selectedIndex && document.getElementById(sname).selectedIndex)  return true;
return false;
}
--></script>


  1. <?php
  2.  
  3. require_once('mysql_connect.php');
  4. $zapytanie = mysql_query(&#092;"SELECT Id, Name FROM crossing\");
  5.  
  6. echo '<form method=\"POST\" action=\"index.php\">';
  7. echo '<select name=\"lista1\" onchange=\"if (oki(this,\"lista1\")) submit();\">';
  8. echo '<option value =\"nic\">Nazwa skrzyżowania / Crossing</option>';
  9. echo '<option value =\"-\">------------------------------------------------------------';
  10. while ($row = mysql_fetch_array($zapytanie))
  11. {
  12.  echo '<option value=\"'.$row['Id'].'\">'.$row['Name'].'</option>';
  13. }
  14.  
  15. echo '</select></form>';
  16.  
  17. ?>
Go to the top of the page
+Quote Post
Zajec
post
Post #5





Grupa: Zarejestrowani
Postów: 1 086
Pomógł: 8
Dołączył: 10.12.2003

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


Przedewszystkim:
  1. <script type="text/javascript">


Funkcje JS można umieszczać w head i w body. Twój wybór.

Co do samej funkcji - nie wiem dokładnie jak działa selectedIndex, ale możesz to zrobić poprzez:
  1. <?php
  2. if (document.forms['name_forma_ktorego_nie_nadales'].elements['lista1'].value!='nic')
  3. {
  4. document.forms['name'].submit();
  5. }
  6. ?>



I wywołanie funkcji dajesz w onchange - tym razem bez parametrów.

Ten post edytował Zajec 25.04.2005, 22:18:58
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: 27.09.2025 - 16:59