Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    ASP e AJAX problema con select

    Ciao ragazzi,
    c'è una cosa che non capisco.

    Sto gestendo due select concatenate.
    Supercategoria e Categoria.
    Cerco di spiegarmi al meglio il problema che è strano forte.

    Inserisco una SuperCategoria.
    Inserisco una Categoria.
    Inserisco un prodotto utilizzando il codice Ajax per caricare nella select concatenata le Categorie.
    Fin tutto ok.

    Se adesso inserisco una nuova Categoria quando vado ad inserire il prodotto questa non mi viene caricata nel momento incui sceglo la SuperCategoria, ed è strano perchè ovviamente l'inserimento nel DB avviene correttamente.

    PEr visualizzare la nuova categoria inserita devo per forza chiudere e riaprire il browser, o unnuovo tab.

    Secondo voi quale è il problema?
    Spero riusciate ad aiutarmi
    Vi riporto il codice qui sotto:

    codice:
    //funzioni ajax
    
    <script language="javascript">
    
      var ricerca_pro;
      
       
    function cerca() 
    
    {
        var valorecampo = document.form1.area.options[document.form1.area.selectedIndex].value;
        // branch for native XMLHttpRequest object
        if (window.XMLHttpRequest) {
            ricerca_pro = new XMLHttpRequest();
            ricerca_pro.onreadystatechange = ricevi;
            ricerca_pro.open("GET", "cerca_disciplina.asp?id="+valorecampo,true);
            ricerca_pro.send(null);
        // branch for IE/Windows ActiveX version
        } else if (window.ActiveXObject) {
            ricerca_pro = new ActiveXObject("Microsoft.XMLHTTP");
            if (ricerca_pro) {
                ricerca_pro.onreadystatechange = ricevi;
                ricerca_pro.open("GET", "cerca_disciplina.asp?id="+valorecampo,true);
                ricerca_pro.send();
            }
        }
    }
    
         
      function ricevi() {   
        var strRes;       
        var arrValori;      
    	  if (ricerca_pro.readyState == 4) {	    
    		  document.getElementById("disciplina").innerHTML=ricerca_pro.responseText;
    		 }
    	}
    </script>
    
    
    //codice html
    //prima select
    
    <select name="area" class="txt" onChange="cerca()">
                 	<option value="">Seleziona Area</option>
                    <%
    				sql = "SELECT *FROM tab_area WHERE elimina_area = false ORDER BY nome_area ASC"
    				set rs = conn.execute(sql)
    				
    				while not rs.eof
    				%>
                    <option value="<%=rs("ID_area")%>"><%=rs("nome_area")%></option>
                    <%
    				rs.movenext
    				wend
    				%>
                 </select>
    
    //seconda select
    
    <div id="disciplina">
                      <select name="disciplina" class="txt">
                        <option value="0">Seleziona Disciplina</option>
                        </select>
                      </div>
    
    
    //pagina cerca_disciplina.asp
    
    
    
    <%
    	'apro connessione e istanzio oggetti
    
    	pid = Request.QueryString("id")
    	if pid <> "" then
    	strsql = "SELECT *FROM tab_disciplina WHERE id_area = " &pid& " AND elimina_disciplina = false ORDER BY nome_disciplina ASC"
    	set rs = conn.execute(strsql)
    	
    	
    	if not rs.eof then
    	
    %>
    <select name="disciplina" class="txt">
    	<option value="0">Seleziona Disciplina</option>
    <%
    	while not rs.eof
    	nome_disciplina = replace(rs("nome_disciplina"), "à", "&agrave;")
    	nome_disciplina = replace(nome_disciplina, "è", "&egrave;")
    	nome_disciplina = replace(nome_disciplina, "ì", "&igrave;")
    	nome_disciplina = replace(nome_disciplina, "ò", "&ograve;")
    	nome_disciplina = replace(nome_disciplina, "ù", "&ugrave;")
    %>
    <option value="<%=rs("ID_disciplina")%>"><%=nome_disciplina%></option>
    <%
    	rs.movenext
    	wend
    %>
    </select>
    <%
    rs.close
    set rs = nothing
    
    conn.close
    set conn = nothing
    
    	else
    	%>
    	<select name="disciplina" class="txt">
    		<option value="0">Seleziona Disciplina</option>
    	</select>
    	<%
    	end if
    	else
    	%>
    	<select name="disciplina" class="txt">
    		<option value="0">Seleziona Disciplina</option>
    	</select>
    	<%
    	end if	
    
    		
    
    %>

  2. #2
    Le option della combo dovresti caricarle via ajax al'onclick sulla combo stessa.
    In questo modo, dopo aver inserito una nuova voce, cliccando sulla combo, ricarichi tutte le option visualizzando anche quella appena inserita.

  3. #3
    Ciao Mems, graziep er la risposta...ma sinceramente non la riesco proprio a capire

    potresti essere un pochino piu preciso spiegandomi di quale combo parliamo, e in quale modo modificare quello che ho scritto?

    Grazie mille.

  4. #4
    Minkia AJAX con ASP ???

    . . . che Pauraaaaaaaaaaaaaaaa

  5. #5
    La form da cui aggiungi una nuova voce sta nella stessa pagina dove stanno le combo?

  6. #6
    no è un'altra pagina.

    c'è una pagina per creare la supercategoria.
    una per creare la categoria.

    e poi ho una pagina per l'inserimento dei prodotti, ed èqui che stanno le combo collegate ad ajax.

  7. #7
    Quindi, te inserisci i nuovi canali o supercanali, poi chiami la pagina con le combo e non ti visualizza le nuove voci dentro le combo?

  8. #8
    sì però soltanto sulla combo i cui valori vengono richiamati tramite ajax(quindi in base alla scelta della prima combo), e poi soltanto dopo un primo inserimento.

    Come dicevo nel primo post.
    Se creo una Supercategoria e poi una categoria e vado ad inserire un prodotto, allora nelle combo vedo tutto funzionante e posso inserire il prodotto senza problemi.
    Se dopo questo inserimento creo una nuova categoria, allora ecco che la combo non carica il nuovo inserimento.

    Spero di essermi spiegato bene, purtroppo è un problema davvero misterioso...

  9. #9
    Nella pagian con le combo metti questo codice in testa al file:
    codice:
    <%
    response.cacheControl = "no-cache"
    response.addHeader "pragma", "no-cache"
    response.expires = -1
    %>

  10. #10
    grande funziona!!

    capisco che svuota la cache in qualche, ma vorrei capirci dipiu.
    Puoi darmi qualche riferimento per capire queste tre righe di codice?

    Grazie mille

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.