Discussione Chiusa
Risultati da 1 a 2 di 2

Form HTML con Ajax

Ultimo Messaggio di JACK1971 il:
  1. #1
    User L'avatar di liamuscogiuri
    Data Registrazione
    Jul 2007
    Località
    Roma
    Messaggi
    127

    Form HTML con Ajax

    Salve a tutti!
    sto facendo un form in html con campo regione e campo nazione.
    Quando scelgo il primo campo, a seconda della scelta, mi viene popolato il secondo (è giusto così, con "regione" si intendono aree formate da + stati). Ho trovato il codice su internet e l'ho corretto un po' ma continua a non funzionare. Qualcuno sa trovare l'errore?
    Premetto che non so niente di ajax/javascript...
    Grazie mille!

    PAGINA DOVE E' CONTENUTO IL FORM:

    Codice HTML:
    <script type="text/javascript" src="../js/zxml.js"></script>
    <script type="text/javascript">
    function getDati(eleTarg, regione){
     alert ('ciao');
     oXmlHttp = zXmlHttp.createRequest();
        if (oXmlHttp)
     {
      var targ = document.getElementById(eleTarg);
      oXmlHttp.open("GET", "getNaz.php?regione="+regione);
      oXmlHttp.onreadystatechange = function()
      {
       if (oXmlHttp.readyState == 4 && oXmlHttp.status == 200)
       {setNazione(targ, oXmlHttp.responseXML);}
      }
      oXmlHttp.send(null);
        }
    }
    function setNazione(target, xmlDoc) {
     var opzione = document.createElement('option');
        var num = xmlDoc.documentElement.childNodes.length;
        var elem = xmlDoc.documentElement;
        var i;
     deleteNazione(target);
     
        for (i = 0; i < num; i++) {
     var testo = elem.getElementsByTagName("nome")[i].childNodes[0].nodeValue;
     var opzione = new Option(testo, testo);
     target.options.add(opzione, -1);
     
        }
    }
    function deleteNazione(target) {
        var i;
        for (i=target.length-1; i>=0; i--) {
     target.remove(i);
     alert ('e tre');
        }
    }
    </script>
     
     
    <form id="reg" name="reg" method="post" action="registrazione_aut.php" style="margin:0;padding:0;"   enctype="multipart/form-data">
     
     
    <!-- apro il campo regione -->
            <div style="text-align:left; float:left; vertical-align:top; width:200px; height:auto;">
            Regione: <br /><select name="regione" onChange="getDati('nazione', document.reg.regione.value)">
         <option value="" selected></option>
         <?php
         $query = "SELECT IDRegione, Regione".$_COOKIE[pathLingua]." FROM regioni ORDER BY IDRegione ASC";
         $res = mysql_query($query, $conn);
         $linea = mysql_fetch_array($res, MYSQL_ASSOC);
           while ($linea) {
       echo '<option value="'.$linea['IDRegione'].'">'.$linea['Regione'.$_COOKIE[pathLingua]].'</option>';
      $linea = mysql_fetch_array($res, MYSQL_ASSOC);
         }
         mysql_close($conn);
          ?>
      </select><br />
            <!-- chiudo campo regione -->
            </div>
            
      
            
            <!-- apro il campo nazione -->
      <div style="text-align:left; float:left; vertical-align:top; width:220px; height:auto;">
            *Nazione:<br />
            <select name="nazione" id="nazione">
            </select>
            <!-- chiudo campo nazione -->
      </div>
     
    </form>

    E QUESTA E' LA PAGINA getNaz.php

    Codice PHP:
    header("content-type: text/xml");
     
    echo '<?xml version="1.0" encoding="utf-8"?>';
    echo '<nazione>';
     
    $query = 'SELECT IDNazione, Nazione'.$_COOKIE['pathLingua'].' FROM nazioni ORDER BY Nazione'.$_COOKIE['pathLingua'].' ASC WHERE P_Regione ="'.$_GET['regione'].'"';
    $res = mysql_query($query, $conn);
    $linea = mysql_fetch_array($res, MYSQL_ASSOC);
    while ($linea) {
     echo '<nome>'.$linea['Nazione'.$_COOKIE['pathLingua']].'</nome>';
     $linea = mysql_fetch_array($res, MYSQL_ASSOC);
    }
    mysql_close($conn);
     
    echo '</nazione>';

  2. #2
    Esperto L'avatar di JACK1971
    Data Registrazione
    Jul 2006
    Località
    Milano
    Messaggi
    6,339
    Ciao liamuscogiuri,

    hai già postato la stessa richiesta qui, e non è concesso dal regolamento:

    11. Crossposting

    11.0. Non è consentito postare lo stesso messaggio o parti di esso in più aree del forum, salvo casi di particolare interesse che dovranno comunque essere autorizzati da un Admin.
    Vacanze a Cervinia :sun:


Discussione Chiusa

Tag per Questa Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.