Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di dema28
    Registrato dal
    Jun 2010
    Messaggi
    31

    leggere parametri url con js

    Buongiorno, vorrei chiedere aiuto su un problema su cui mi sono arenato...

    Avrei bisogno di inviare dei dati presenti nell'url tramite un form.

    In questo modo riesco a ottenere l'url di cui ho bisogno, richiamando la funzione nel form con onSubmit. Quello che non riesco a fare è utilizzare il link che genero come action per il form... come si fa?

    codice:
    <script type="text/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[i].split('=')
    			dic[aPV[0]]=aPV[1]
    		        } return dic
    	        }
    	       qs = objQueryString()
    	       document.write('http://www.miosito.it/cartella/file.php?');
    	       for(x in qs) 
    	       document.write(x+'='+qs[x]+'&');
    	       document.write('y=commenti');
            }
    </script>
    
    <form name="myform" method="post" onSubmit="generateLink();">
    (...)
    </form>

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    objQueryString() cosa stampa?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di dema28
    Registrato dal
    Jun 2010
    Messaggi
    31
    objQueryString() mi stampa quello che vorrei fosse il link a cui essere mandato:

    [url]http://www.miosito.it/cartella/file.php?id=mioid&cat=miacat&rif=miorif&y=commenti

    In pratica mi mantiene tutto l'url che già avevo prima di cliccare sul form fino a rif=miorif e poi aggiunge y=commenti, dove ho il codice da eseguire dopo il form...

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    quello lo stamperà la funzione generateLink() io t'ho chiesto un altra cosa! Comunque prova cosi, togli questo parte:
    qs = objQueryString()
    document.write('http://www.miosito.it/cartella/file.php?');
    for(x in qs)
    document.write(x+'='+qs[x]+'&');
    document.write('y=commenti');
    e metti questa:
    qs = objQueryString()
    for(x in qs)
    var urlString = x+'='+qs[x]+'&y=commenti';
    document.myform.action='http://www.miosito.it/cartella/file.php?'+urlString
    document.myform.submit();

    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it L'avatar di dema28
    Registrato dal
    Jun 2010
    Messaggi
    31
    ok è un bel passo in avanti, almeno adesso vengo reindirizzato al link...

    l'unico problema è che praticamente così, essendo un ciclo for, perdo il primo e il secondo parametro..

    quindi vengo inviato qui:
    miosito.it/cartella/file.php?rif=miorif&y=commenti

    invece che qui:
    miosito.it/cartella/file.php?id=mioid&cat=miacat&rif=miorif&y=commenti


    c'è un modo per risolvere anche questo?

    cmq grazie, è già molto meglio di prima!!

  6. #6
    Temo che non sia possibile passare nella url di action di un form delle variabili in stile get mentre il form usa method post (credo in nessun caso invero).

    Forse invece di usare un form, faresti meglio ad usare semplicemente
    document.location='http://www.miosito.it/cartella/file.php?'+urlString;

    La applicazione php che riceve i dati, cosa fa?
    ne legge una parte da $_POST ed un'altra da $_GET?
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  7. #7
    Utente di HTML.it L'avatar di dema28
    Registrato dal
    Jun 2010
    Messaggi
    31
    Dunque in realtà sono riuscito a trovare una soluzione funzionante, che era anche più semplice...

    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();

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.