Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    50

    [Ajax] Passaggio di due variabili

    Ciao,
    sono alle prime armi con Ajax e al momento sono riuscito a costruire una chiamata ajax all'on-change di un campo di input, e le passo un parametro, ovvero il valore del campo stesso ed il div di destinazione

    Così:

    Codice PHP:
    <input .... onchange="javascript:fnCheck(this.value); CallByAjax('reload.php','new_prov='+this.value,'trasporteDiv')"/> 
    Ora quello di cui ho bisogno è che oltre a questo campo, voglio passare un altro valore della stessa form, scritta in php.

    COme fare?
    Immagino che debbo modificare sia questa chiamata che la funzione ajax, ma non so come procedere.

    Codice PHP:
    function addPostParam(sParamssParamNamesParamValue) {
        if (
    sParams.length 0) {
            
    sParams += "&";
        }
        return 
    sParams encodeURIComponent(sParamName) + "=" encodeURIComponent(sParamValue);
        
    /*var val=escape(sParamValue);
        return sParams + (sParamName) + "="
                       + (escape(val));*/

    }

    function 
    CallByAjax(sPath,sParam,div){
        var 
    oRequest=XmlHttp();
        
    oRequest.open("post",sPath,false);
        
    oRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        
    oRequest.send(sParam);

        var 
    box document.getElementById(div);
        
    box.innerHTML="";
        
    box.innerHTML oRequest.responseText;


    Ho provato aggiungendo un parametro nella funzione CallByAjax, così

    Codice PHP:
    function CallByAjax(sPath,sParam01,sParam02,div){
    ...
        
    oRequest.send(sParam01sParam02);
    ... 
    E richiamandola così (lascio lo stesso valore, per vedere se almeno riesco a passare il secondo parametro. Poi vedro' come risolvere per passare l'altro valore della form.

    Codice PHP:
    <input .... onchange="javascript:fnCheck(this.value); CallByAjax('reload.php','new_prov01='+this.value,'new_prov02='+this.value,'trasporteDiv')"/> 

    Ma niente.

    Potete aiutarmi. Mi serve anche con una certa urgente, purtroppo

    Grazie in anticipo

  2. #2
    dunque ad occhio direi che prima di fare la
    oRequest.send(sParam);
    puoi concatenare gli altri parametri ad esempio con qualcosa di simile
    sParam+'&altroparametro='+document.getElementById( "altroinput").value

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    50
    Originariamente inviato da Potacchione
    dunque ad occhio direi che prima di fare la
    oRequest.send(sParam);
    puoi concatenare gli altri parametri ad esempio con qualcosa di simile
    sParam+'&altroparametro='+document.getElementById( "altroinput").value
    Grazie della risposta, ma, scusa, non ho capito

    Questa è la parte "ajax", ma la chiamata come la dovrei fare? Mi serve capire la sintassi, anche mettendo un numero fisso. Giusto per provare. Poi lo sostituisco io con la variabile/input php.

    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    50
    Ho risolto facendo così

    Codice PHP:
    <input .... onchange="java-script:fnCheck(this.value); CallByAjax('reload.php','new_prov='+this.value,'totaprez='+<?=$prezzo?>,'trasporteDiv')"/>
    e nella funzione Ajax

    Codice PHP:

    function CallByAjax(sPath,sParam01,sParam02,div){
    ...
        
    oRequest.send(sParam01+'&'+sParam02);
    ...


    Anche se sembra funzionare, spero di non aver scritto grosse stupidaggini

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 © 2026 vBulletin Solutions, Inc. All rights reserved.