Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    AJAX gestione regioni provincie comuni

    salve a tutti ho implementato uno script per la gestione via database (con php) della gestione delle regioni provincie comuni
    volevo sapere come posso, in fase di modifica records, visualizzare i dati attualmente memorizzati in db

    lo script è il seguente

    var http = createRequestObject();
    var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 : null;

    function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
    ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
    ro = new XMLHttpRequest();
    }
    return ro;
    }

    function addElement(ogg,val,text){
    var newOption;
    newOption = document.createElement("option");
    newOption.value = val;
    newOption.text = text;
    ogg.add(newOption, where);
    }

    function removeElement(ogg){
    if(ogg.options.length > 0){
    while (ogg.options.length) {
    ogg.remove(0);
    }
    }
    }

    function disabledElement(ogg,val){
    document.getElementById(ogg).disabled = val;
    }

    function loadingProv(oggId){
    var id = document.getElementById(oggId).value;
    var Comune = document.getElementById('l3');
    //inizializzazione Città
    removeElement(Comune);
    addElement(Comune,'sel','Seleziona un Comune:');
    disabledElement('l3',true);
    http.open('GET','getProv.php?id='+id, true);
    http.onreadystatechange = getProv;
    http.send(null);
    }

    function loadingComune(oggId){
    var id = document.getElementById(oggId).value;
    http.open('GET','getComune.php?id='+id, true);
    http.onreadystatechange = getComune;
    http.send(null);
    }

    function getProv(){
    var Prov = document.getElementById('l2');
    removeElement(Prov);
    id = document.getElementById('l1').value;
    if(id == 'sel'){
    disabledElement('l2',true);
    addElement(Prov,'sel','Seleziona prima una Regione:');
    }else{
    if(http.readyState == 4){
    if (http.status == 200) {
    var response = http.responseText;
    if(response == ''){
    disabledElement('l2',true);
    addElement(Prov,'sel','Nessuna Provincia Presente');
    }else{
    removeElement(Prov);
    coppia = response.split(',');
    max = coppia.length;
    addElement(Prov,'sel','Seleziona una Provincia');
    for(x=0;x<max;x++){
    val = coppia[x].split('-');
    addElement(Prov,val[0],val[1]);
    }
    disabledElement('l2',false);
    }
    }
    }else{
    addElement(Prov,'sel','Loading...');
    }
    }
    }

    function getComune(){
    var Comune = document.getElementById('l3');
    removeElement(Comune);
    id = document.getElementById('l2').value;
    if(id == 'sel'){
    disabledElement('l3',true);
    addElement(Comune,'sel','Seleziona un Comune');
    }else{
    if(http.readyState == 4){
    if (http.status == 200) {
    var response = http.responseText;
    if(response == ''){
    disabledElement('l3',true);
    addElement(Comune,'sel','Nessun Comune');
    }else{
    removeElement(Comune);
    coppia = response.split(',');
    max = coppia.length;
    addElement(Comune,'sel','Seleziona un Comune');
    for(x=0;x<max;x++){
    val = coppia[x].split('-');
    addElement(Comune,val[0],val[1]);
    }
    disabledElement('l3',false);
    }
    }
    }else{
    addElement(Comune,'sel','Loading...');
    }
    }
    }

    funziona a meraviglia ma appunto se vado a modificare un record dovrò far vedere quali sono i dati attualmente inseriti e non so come posso visualizzare la regione prov e comune utilizzando lo scritp AJAX

  2. #2

    Problemi con uno script Ajax che funziona solo chiudendo e riavviando browser

    ragazzi ho notato che il mio script che recupera regioni province e comuni da un db e che lavora con php non funziona regolarmente
    o meglio se aggiungo un comune via php e poi provo ad andarlo a modificare (selezionando regione e provincia) il comune appena inserito non appare
    chiudendo il browser e rifacendo la procedura (scelgo regione e provincia e mi carica il menù a tendina con tutti i comuni della provincia) allora tutto funziona
    per quale motivo devo chiudere il browser e riaprirlo per far funzionare tutto ?

    aggiungo che con firefox non è necessario riavviare il browser

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Problemi di cache... aggiungi alla richiesta un parametro sempre variabile, ma per un consiglio mirato occorre vedere quale codice hai usato.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  4. #4

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    http.open('GET','getComune.php?id='+id+'&rnd='+Math.random(), true);

    ciao

    ps: in che senso non volevi riempire il forum ? hai aperto due discussioni
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    Re: AJAX gestione regioni provincie comuni

    Ciao scusa dove hai trovato questo script?
    Mi servirebbe come il pane
    Dove mi posso scaricare il codice completo di select?

    Grazie

    Originariamente inviato da brutusin
    salve a tutti ho implementato uno script per la gestione via database (con php) della gestione delle regioni provincie comuni
    volevo sapere come posso, in fase di modifica records, visualizzare i dati attualmente memorizzati in db

    lo script è il seguente

    var http = createRequestObject();
    var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 : null;

    function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
    ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
    ro = new XMLHttpRequest();
    }
    return ro;
    }

    function addElement(ogg,val,text){
    var newOption;
    newOption = document.createElement("option");
    newOption.value = val;
    newOption.text = text;
    ogg.add(newOption, where);
    }

    function removeElement(ogg){
    if(ogg.options.length > 0){
    while (ogg.options.length) {
    ogg.remove(0);
    }
    }
    }

    function disabledElement(ogg,val){
    document.getElementById(ogg).disabled = val;
    }

    function loadingProv(oggId){
    var id = document.getElementById(oggId).value;
    var Comune = document.getElementById('l3');
    //inizializzazione Città
    removeElement(Comune);
    addElement(Comune,'sel','Seleziona un Comune:');
    disabledElement('l3',true);
    http.open('GET','getProv.php?id='+id, true);
    http.onreadystatechange = getProv;
    http.send(null);
    }

    function loadingComune(oggId){
    var id = document.getElementById(oggId).value;
    http.open('GET','getComune.php?id='+id, true);
    http.onreadystatechange = getComune;
    http.send(null);
    }

    function getProv(){
    var Prov = document.getElementById('l2');
    removeElement(Prov);
    id = document.getElementById('l1').value;
    if(id == 'sel'){
    disabledElement('l2',true);
    addElement(Prov,'sel','Seleziona prima una Regione:');
    }else{
    if(http.readyState == 4){
    if (http.status == 200) {
    var response = http.responseText;
    if(response == ''){
    disabledElement('l2',true);
    addElement(Prov,'sel','Nessuna Provincia Presente');
    }else{
    removeElement(Prov);
    coppia = response.split(',');
    max = coppia.length;
    addElement(Prov,'sel','Seleziona una Provincia');
    for(x=0;x<max;x++){
    val = coppia[x].split('-');
    addElement(Prov,val[0],val[1]);
    }
    disabledElement('l2',false);
    }
    }
    }else{
    addElement(Prov,'sel','Loading...');
    }
    }
    }

    function getComune(){
    var Comune = document.getElementById('l3');
    removeElement(Comune);
    id = document.getElementById('l2').value;
    if(id == 'sel'){
    disabledElement('l3',true);
    addElement(Comune,'sel','Seleziona un Comune');
    }else{
    if(http.readyState == 4){
    if (http.status == 200) {
    var response = http.responseText;
    if(response == ''){
    disabledElement('l3',true);
    addElement(Comune,'sel','Nessun Comune');
    }else{
    removeElement(Comune);
    coppia = response.split(',');
    max = coppia.length;
    addElement(Comune,'sel','Seleziona un Comune');
    for(x=0;x<max;x++){
    val = coppia[x].split('-');
    addElement(Comune,val[0],val[1]);
    }
    disabledElement('l3',false);
    }
    }
    }else{
    addElement(Comune,'sel','Loading...');
    }
    }
    }

    funziona a meraviglia ma appunto se vado a modificare un record dovrò far vedere quali sono i dati attualmente inseriti e non so come posso visualizzare la regione prov e comune utilizzando lo scritp AJAX

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.