HighDots Forums  

Form con doppia select

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


Discuss Form con doppia select in the Javascript (Italian) forum.



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

Default Form con doppia select - 06-23-2006 , 03:08 AM






Ho creato una form (in php) in cui ci sono 2 select una dipendente
dall'altra, quando seleziono la prima la seconda si modifica (per
capirci tipo l'esempio che si vede in giro per la rete della scelta
province->comuni).
Il problema è che quando modifico la prima select mi fa la submit della
form e mi aggiunge i campi nel db dato che l'evento onchange sulla
select è così:

<select name='categoria' onchange=document.form1.submit();>
Vorrei fare in modo che si possano selezionare le 2 select e solo alla
fine il tutto venga inviato tramite submit.

Voi normalmente come fate per superare questo problema? Grazie in anticipo!

Reply With Quote
  #2  
Old   
himgi
 
Posts: n/a

Default Re: Form con doppia select - 06-23-2006 , 04:37 AM







*Fabio* ha scritto:

Quote:
Ho creato una form (in php) in cui ci sono 2 select una dipendente
dall'altra, quando seleziono la prima la seconda si modifica (per
capirci tipo l'esempio che si vede in giro per la rete della scelta
province->comuni).
Il problema è che quando modifico la prima select mi fa la submit della
form e mi aggiunge i campi nel db dato che l'evento onchange sulla
select è così:

select name='categoria' onchange=document.form1.submit();
Vorrei fare in modo che si possano selezionare le 2 select e solo alla
fine il tutto venga inviato tramite submit.

Voi normalmente come fate per superare questo problema? Grazie in anticipo!
var firstSelected = false;
var secondSelected = false;

function onChangeFirst()
{
firstSelected = true;
}

function onChangeSecond()
{
secondSelected = true;
}

function doSubmitOnChange() {
if (firstSelected && secondSelected )
document.form1.submit();
}

document.firstSelect.onchange=onChangeFirst;
document.secondSelect.onchange=onChangeSecond;



Reply With Quote
  #3  
Old   
*Fabio*
 
Posts: n/a

Default Re: Form con doppia select - 06-23-2006 , 05:52 AM



himgi ha scritto:
Quote:
var firstSelected = false;
var secondSelected = false;

function onChangeFirst()
{
firstSelected = true;
}

function onChangeSecond()
{
secondSelected = true;
}

function doSubmitOnChange() {
if (firstSelected && secondSelected )
document.form1.submit();
}

document.firstSelect.onchange=onChangeFirst;
document.secondSelect.onchange=onChangeSecond;
Mh però così non mi interroga il db per popolare la seconda select dato
che non fa submit o sbaglio?


Reply With Quote
  #4  
Old   
himgi
 
Posts: n/a

Default Re: Form con doppia select - 06-23-2006 , 06:19 AM




*Fabio* ha scritto:

Quote:
himgi ha scritto:
var firstSelected = false;
var secondSelected = false;

function onChangeFirst()
{
firstSelected = true;
}

function onChangeSecond()
{
secondSelected = true;
}

function doSubmitOnChange() {
if (firstSelected && secondSelected )
document.form1.submit();
}

document.firstSelect.onchange=onChangeFirst;
document.secondSelect.onchange=onChangeSecond;

Mh però così non mi interroga il db per popolare la seconda select dato
che non fa submit o sbaglio?
Ciccio, almeno la business-logic la vuoi scrivere?
Rispettivamente in onChangeFirst e onChangeSecond



Reply With Quote
  #5  
Old   
*Fabio*
 
Posts: n/a

Default Re: Form con doppia select - 06-23-2006 , 07:28 AM



himgi ha scritto:
Quote:
Ciccio, almeno la business-logic la vuoi scrivere?
Rispettivamente in onChangeFirst e onChangeSecond
Ciccio la business-logic l'ho già scritta solo non sono pratico di
javascript e non ho ben capito come si dovesse utilizzare quel codice
che mi hai scritto e di cui ti ringrazio.


Reply With Quote
  #6  
Old   
himgi
 
Posts: n/a

Default Re: Form con doppia select - 06-23-2006 , 08:43 AM




*Fabio* ha scritto:

Quote:
himgi ha scritto:
Ciccio, almeno la business-logic la vuoi scrivere?
Rispettivamente in onChangeFirst e onChangeSecond

Ciccio la business-logic l'ho già scritta solo non sono pratico di
javascript e non ho ben capito come si dovesse utilizzare quel codice
che mi hai scritto e di cui ti ringrazio.
Ok ricominciamo.

All'interno del tag <script>, che suppongo sia all'interno del tag
<head>, inserisci il seguente codice javascript:

------------------------INZIO----------------------
var firstSelected = false;
var secondSelected = false;

// Questa è la funzione che viene eseguita tutte le volte che cambi
selezione
// nella prima select, che ho chiamato "firstSelect"
function onChangeFirst()
{
fs = document.getElementById('firstSelect');
if (fs.options[.fs.selectedIndex].value != "")
{
firstSelected = true;
// E qui ci va la tua logica di business
}
else
{
firstSelected = false;
}
doSubmitOnChange();
}

// Questa è la funzione che viene eseguita tutte le volte che cambi
selezione
// nella seconda select, che ho chiamato "secondSelect"
function onChangeSecond()
{
fs = document.getElementById('secondSelect');
if (fs.options[.fs.selectedIndex].value != "")
{
secondSelected = true;
// E qui ci va la tua logica di business
}
else
{
secondSelected = false;
}
doSubmitOnChange();
}

// Questa è la funzione che viene eseguita tutte le volte che avviene
un cambio di stato
// in una delle due select. Ma fa la submit solo quando entrambi i flag
(firstSelected e
// secondSelected) di verifica sono "true".
function doSubmitOnChange() {
if (firstSelected && secondSelected )
document.form1.submit();

}

// Queste due istruzioni assegnano all'evento onchange delle select la
relativa funzione.
document.firstSelect.onchange=onChangeFirst;
document.secondSelect.onchange=onChangeSecond;
------------------------FINE-----------------------

Todo occhei?

Himgi



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 - 2008, Jelsoft Enterprises Ltd.