HighDots Forums  

Select onChange="submit()" che non mi faccia inviare tutto il form

Javascript (Italian) Il linguaggio JavaScript (it.comp.lang.javascript)


Discuss Select onChange="submit()" che non mi faccia inviare tutto il form in the Javascript (Italian) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
blasfemo
 
Posts: n/a

Default Select onChange="submit()" che non mi faccia inviare tutto il form - 07-15-2009 , 05:15 PM






Ciao ho questa porzione di codice php.
---
<?
$_GET['mail'];

if ( (( $_GET['mail'])!='send' ) or ( is_null($_GET['mail'])) ) {
?>
<?
// -- Inizio Creazione Array Gruppi di Zone

$listaZ1Z2 = Array ('Alessandro' => 'alessandro (AT) mail (DOT) com',
'Michele' => 'michele (AT) vmail (DOT) com',
'Davide' => 'davide@z.com'
);

// -- Fine Creazione Array

// -- Function Inizio

//Crea una Select pasandogli il nome della variabile da inviare con il
form, un testo ed un'array bidimensionale
function CreaSelect ($valore, $testo, $nomearray) {
echo "<select name=\"$valore\">\n";
echo "<option value=\"0\">$testo</option>\n";
foreach($nomearray as $nome_col => $mail_col) {
echo "<option value=\"$mail_col\">$nome_col</option>\n";
}
echo "</select>\n";
}



// -- Function Fine
?>
<form id="mail" method="post" action="mail.php?mail=send" >


<select name="zona" onChange="submit()">
<option value="0">Scegli la Zona</option>
<option value="Z1">Z1</option>
<option value="Z2">Z2</option>
<option value="Z3">Z3</option>
<option value="Z4">Z4</option>
</select>

<?
switch ($_POST[zona])
{
case (Z1):
// -- Mittente --

CreaSelect ( "mittente", "Scegli il Mittente", $listaZ1Z2); //Select
con variabile: mittente

....
....
....

<input type="submit" value="Invia" name="B1" />
<form/>
--

Avrei bisogno che quando scelgo un valore dalla select zona venisse
"mandato avanti" la relativa value al fine di entrare nello switch
case..
Il problema che cosi fatto, non appena scelgo un valore di zona, viene
spedito anche il form prima che sia completato..
Potreste darmi una mano per sistemare il javascrit che praticamente
ignoro ?

grazie

Reply With Quote
  #2  
Old   
Cristiano Larghi
 
Posts: n/a

Default Re: Select onChange="submit()" che non mi faccia inviare tutto ilform - 07-16-2009 , 02:39 AM






Il Wed, 15 Jul 2009 14:15:24 -0700, blasfemo ha scritto:

[CUT]

Quote:
select name="zona" onChange="submit()"> <option value="0">Scegli la
Zona</option> <option value="Z1">Z1</option
option value="Z2">Z2</option
option value="Z3">Z3</option
option value="Z4">Z4</option
/select

?
switch ($_POST[zona])
{
case (Z1):
// -- Mittente --

CreaSelect ( "mittente", "Scegli il Mittente", $listaZ1Z2); //

input type="submit" value="Invia" name="B1" /> <form/

Avrei bisogno che quando scelgo un valore dalla select zona venisse
"mandato avanti" la relativa value al fine di entrare nello switch
case..
Il problema che cosi fatto, non appena scelgo un valore di zona, viene
spedito anche il form prima che sia completato.. Potreste darmi una mano
per sistemare il javascrit che praticamente ignoro ?
Ti chiedo scusa, ma non è solo javascript che ignori, ma sono anche le
basi html ...
Stai facendo tutto via php, ergo stai lavorando server-side, ergo per
usare il codice che hai riportato devi PER FORZA passare dal server, ergo
quel "submit()" (a parte che manco sapevo funzionasse piazzato lì così)
devi per forza farlo se vuoi creare da codice server-side l'altra select
con il value.

Altrimenti devi buttare via questo codice e passare a usare l'oggetto
xmlhttp (cerca in rete, troverai un fantastilione di esempi; se vuoi
continuare a ignorare javascript cercati jquery); oppure fornire a
javascript tutta la lista collegata a Z1,Z2 etc, così da poter compilare
client-side la select. Se i valori sono solo 4, potresti server-side
creare giÃ* le 4 select nascoste, così client-side tutto si riduce a
visualizzare quella corretta. Dipende tutto dal contesto, dal numero
delle voci per ogni select etc.

Reply With Quote
  #3  
Old   
blasfemo
 
Posts: n/a

Default Re: Select onChange="submit()" che non mi faccia inviare tutto ilform - 07-16-2009 , 06:03 AM



On 16 Lug, 08:39, Cristiano Larghi <c.lar... (AT) criosoftware (DOT) it> wrote:

Quote:
Se i valori sono solo 4, potresti server-side
creare già le 4 select nascoste, così client-side tutto si riduce a
visualizzare quella corretta. Dipende tutto dal contesto, dal numero
delle voci per ogni select etc.- Nascondi testo citato

Ciao Cristiano (non so se ti ricordi di me.. hanni fa mi aiutasti
tantissimo con qualche "perla" in javascript)..
Si i valori sono solo 4...
Che intendi con "potresti server-side creare già le 4 select nascoste,
così client-side tutto si riduce a visualizzare quella corretta. 2?

Puoi farmi un esempio ?

Reply With Quote
  #4  
Old   
Cristiano Larghi
 
Posts: n/a

Default Re: Select onChange="submit()" che non mi faccia inviare tutto ilform - 07-16-2009 , 07:02 AM



Il Thu, 16 Jul 2009 03:03:00 -0700, blasfemo ha scritto:

Quote:
Ciao Cristiano (non so se ti ricordi di me.. anni fa mi aiutasti
tantissimo con qualche "perla" in javascript)..
Ricordo vagamente questo nick ...

Quote:
Si i valori sono solo
4...
Che intendi con "potresti server-side creare giÃ* le 4 select nascoste,
così client-side tutto si riduce a visualizzare quella corretta. 2?
Quello che intendevo è:
a) server-side crei le 4 select "nascoste" (display="none"), giÃ*
compilate con i valori corrispondenti alle 4 voci "principali", che
potresti chiamare per esempio risultato_Z1, risultato_Z2 etc
b) onchange della tua select principale visualizzi solo la select
corretta. Un esempio così al volo potrebbe essere:
- una var globale per sapere cosa stai visualizzando:
var selVisibile=null;
- per la select: onchange="seleziona(this)";
- la tua seleziona(obj) potrebbe essere un qualcosa del tipo
if(selVisibile!=null)
selVisibile.style.display="none";
selVisible=obj.form.elements["risultato_"+obj.value];
selVisibile.style.display="block";

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.