- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- passare parametri tramite form
-
passare parametri tramite form
Salve, vorrei chiedere se qualcuno mi può aiutare in questo mio piccolo problemino con javascript...
Ho bisogno di inviare dei parametri presenti nell'url tramite form. Ho una funzione, objQueryString(), che mi recupera questi parametri (id,cat,rif). Questa funzione è all'interno di un'altra funzione, generateLink(), che richiamo dal mio form.
<form name="myform" method="post" onSubmit="generateLink();"> (...) </form>
codice javascript:
function generateLink() {
function objQueryString(qs){
dic = new Array()
if(!qs) qs = location.search
qs = qs.replace(/?/,'')
aQs = qs.split('&')
txt = ''
for(i=0;i<aQs.length;i++){
aPV = aQs*.split('=')
dic[aPV[0]]=aPV[1]
}
return dic
}
//richiamo la funzione per recuperare i parametri
qs = objQueryString()//ricompongo la parte di link che contiene i parametri (dove qs è il valore del mio parametro)
for(x in qs)
var urlString = x+'='+qs[x]+'&'+'y=commenti';
//imposto come azione del form il mio link
document.myform.action='miosito.it/cartella/file.php?'+urlString;
document.myform.submit();
}
Il problema sta nell'ultima parte del codice:for(x in qs)
var urlString = x+'='+qs[x]+'&'+'y=commenti';il link che ottengo infatti manca dei primi due parametri, evidentemente perché mi registra solo l'ultimo.
In breve dovrei ottenere qualcosa così:
miosito.it/cartella/file.php?id=mioid&cat=miacat&rif=miorif&y=commentiinvece ottengo questo:
miosito.it/cartella/file.php?rif=miorif&y=commentiC'è qualcuno in grado di aiutarmi? :bho:
-
ok dopo ore e ore ci sono arrivato: senza utilizzare il costrutto FOR IN, dalla funzione objQueryString() ho recuperato i miei parametri, infatti ad esempio aQs[0] corrsiponde a id=mioid, aQs[1] a cat=miacat, ecc.
Quindi dovevo solo attribuire una variabile a questi dati, così funziona:qs = objQueryString()
var id = aQs[0];
var cat = aQs[1];
var rif = aQs[2];
var urlString = id+'&'+cat+'&'+rif;document.myform.action='miosito.it/cartella/file.php?'+urlString+'&y=commenti';
document.myform.submit();