Problemi con Ajax

Ciao,

  mi scuso se ho sbagliato a postare qui il mio problema....

ho una pagina con un form che all'evento onSubmit chiama una funzione getCliente()

questa funzione e' identica a sndReq(action) funzione che avete pubblicato sul vostro articolo ajax in pratica.

anche tutte le altre funzioni sono identiche eccetto handle che invece di fare

document.getElementById(update[0]).innerHTML = update[1];

modifica il valore di un campo hidden di un form

il problema e' che all'onSubmit javascript mi genera errore

Autorizzazione negata

La url che imposto riesco a raggiungerla da browser senza problemi.....quale potrebbe essere la causa?

spero di essermi spiegata

grazie e ciao

inviato 11 anni fa
purpitta
X 0 X

Come ricevi il messaggio di errore?

riporta il javascript

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

ciao,

il messaggio d'errore mi appare in una popup quando clicco sul tasto continua del forum...quindi da browser

inserisco di seguito il form e il file ajax.js

<?php
function conferma_scuola($page, $classe, $fz)
   {
    $campi = array();
    if( isset($_POST["codicescuola"]) ) $campi[] = "codicescuola";
     if( isset($_POST["classe"]) ) $campi[] = "classe";
?>    
    <form name="form" action="<?php echo $page; ?>" method="POST" onSubmit="javascript: getCliente();">
     <input type="hidden" name="classe" value="<?php echo $classe; ?>">
     <input type="hidden" name="fz" value="<?php echo $fz; ?>"><br>
     <input type="hidden" name="cliente" value="0"><br>
<?php
    conferma($campi);
?>         
    <br><input type="submit" value="Conferma">&nbsp;&nbsp;
    <input type="button" value="Annulla" onClick="javascript: location.href('../../../index.php');">
    </form>
<?php   
  }
?>
function getFormValues()
{
   var i = 0;
   var str = "";
    
   for(i=0; i<document.form.elements.length; i++)
   {
      var elemento = document.form.elements[i];
    
       if( document.form.elements[i].type == "select-one" )
       {
        str1 = document.form.elements[i].name+"="+document.form.elements[i].value+"&";
          str += str1;   
        }
     }
   
   return str.substr(0,(str.length - 1));
}

/* La seguente funzione crea un oggetto XMLHttpRequest...*/
function createRequestObject()
{
   var request_o; //dichiara la variabile che conterra' l'oggetto
   var browser = navigator.appName; //trova il nome del browser
   if( browser == "Microsoft Internet Explorer" )
    {
      /* Create the object using MSIE's method */
      request_o = new ActiveXObject("Microsoft.XMLHTTP");
   }
     else
     {
      /* Create the object using other browser's method */
      request_o = new XMLHttpRequest();
   }
   return request_o; //restituisce l'oggetto
}

var id = "regione"; // La variabile id conterra' il nome della select da riempire
/* La variabile http conterra' l'oggetto XMLHttpRequest */
var http = createRequestObject(); 

/* Funzione chiamata per prendere la lista delle province e/o dei comuni */
function getComuni(scelta,host)
{
  http = createRequestObject(); 
  var method = "POST";
  var url = "http://"+host+"/scuoleitaliane/lib/response.php";
  var comune = document.form.elements["comune"];
   text = comune.options[0].text;
   comune.length = 0;
   comune.options[0] = new Option(text,'none');
   
   var provincia = document.form.elements["provincia"];
   var i = provincia.selectedIndex;
   if( ( scelta == "regione" ) || ( scelta == "provincia" && provincia.options[i].value == "none") )   
   {
      text = provincia.options[0].text;
      provincia.length = 0;
      provincia.options[0] = new Option(text,'none');
      id = "provincia";
   }
   else if( scelta == "provincia" && provincia.options[i].value != "none") id = "comune";

   var params = getFormValues();
     /* 
      Crea la richiesta. Il primo argomento della funzione open e' il metodo (POST/GET),
      e il secondo argomento e' l'url...
      il documento contenente il riferimento a tutti gli oggetti nella pagina
      Possiamo riferire document.form.regione 
      riferendo cosi il menu a discesa. La proprieta' selectedIndex ci dara' 
      l'indice dell'oggetto selezionato
   */
   http.open(method, url, true);
   /* Definisce una funzione da chiamare quando la risposta e' stata ricevuta. Funzione definita 
      successivamente che funge da gestore */
   http.onreadystatechange = handleComuni; 
   /* Viene usato solo se si usa il metodo POST. Setta l'header della richiesta HTTP */
   http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
   /* Spedisce i dati. Se si usa il metodo get il parametro e' null. 
      Se si usa il metodo POST str contiene i valori del form nella forma di query string */
   http.send(params);
}

/* Funzione chiamata per gestire la risposta inviata dal file inserisciScuola.php */
function handleComuni()
{
   /* Occorre essere certi che la transazione sia finita. L'oggetto XMLHttpRequest 
      ha una proprieta' chiamata readyState che indica parecchi "stati":
      0: Uninitialized
      1: Loading
      2: Loaded
      3: Interactive
      4: Finished */
   if(http.readyState == 4) //Ha finito di ricevere la risposta      
   { 
         /* Abbiamo ricevuto la risposta dallo script server-side,
         Vediamo cosa e' usando la proprieta' dell'oggetto XMLHttpRequest
         responseText 
      */
        var response = http.responseText; 
        var opt = new Array();
        
       if( response != "" ) 
       { 
            opt = response.split('|'); 
            var i = 0; 
            var newElem;
         
         /* E ora vogliamo aggiungere le option alla select id.
              Lo facciamo usando il metodo add(elemento,posizione) 
            posizione=-1 indica che gli elementi vanno inseriti in coda
         */
            for(i=0; i<opt.length; i++)
            {
                newElem = document.createElement("option");
                if( opt[i].indexOf('/') != -1 )
                {
                  var opt_value = new Array();
                  opt_value = opt[i].split('/');
                  newElem.text = opt_value[1]; 
                  newElem.value = opt_value[0];
                } 
                else
                {
                  newElem.text = opt[i];
                  newElem.value = opt[i]; 
                }
                document.getElementById(id).add(newElem, -1);
            }
       }
       http = null;
   }
}
/* Funzione chiamata per verificare se la sucola e' cliente o no */
function getCliente()
{
  http = createRequestObject(); 
  var method = "GET";
  var url = "http://151.9.147.6/checkscuola.asp?codmin="+escape(document.form.codiceministeriale.value);
  alert(url);
  /* 
      Crea la richiesta. Il primo argomento della funzione open e' il metodo (POST/GET),
      e il secondo argomento e' l'url...
      il documento contenente il riferimento a tutti gli oggetti nella pagina
   */
   http.open(method, url, true);
   /* Definisce una funzione da chiamare quando la risposta e' stata ricevuta. Funzione definita 
      successivamente che funge da gestore */
   http.onreadystatechange = handleCliente; 
  /* Spedisce i dati. Se si usa il metodo get il parametro e' null. 
      Se si usa il metodo POST str contiene i valori del form nella forma di query string */
   http.send(null);
}

/* Funzione chiamata per gestire la risposta inviata dal file inserisciScuola.php */
function handleCliente()
{
   /* Occorre essere certi che la transazione sia finita. L'oggetto XMLHttpRequest 
      ha una proprieta' chiamata readyState che indica parecchi "stati":
      0: Uninitialized
      1: Loading
      2: Loaded
      3: Interactive
      4: Finished */
   if(http.readyState == 4) //Ha finito di ricevere la risposta      
   { 
         /* Abbiamo ricevuto la risposta dallo script server-side,
         Vediamo cosa e' usando la proprieta' dell'oggetto XMLHttpRequest
         responseText 
      */
        var response = http.responseText; 
        alert(response);
        var opt = new Array();
       if( response != "" ) 
       { opt = response.split('|'); 
          /* E ora vogliamo aggiungere le option alla select id.
              Lo facciamo usando il metodo add(elemento,posizione) 
                posizione=-1 indica che gli elementi vanno inseriti in coda
             */
             
          //document.form.cliente.value=response;
          document.form.cliente.value=opt[1];
      }
      http = null;
   }
}
risposto 11 anni fa
purpitta
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda
 

[pagina costruita in 0.014s]