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

    AJAX e ASP: Select Concatenate

    Non sapevo se postare qui o in ASP, cmq spero di aver fatto bene.
    Ragazzi sto provando ad utilizzare l'esempio riportato su questo sito:
    http://www.mmkit.com/article.php?sid=496
    ma non mi funziona.
    Vi posto le mie pagine adattate all'esempio, nella speranza che riusciate a risolvere il problema.

    Questa è la pagina con le select:
    prima il codice script
    codice:
    <script language="javascript">
    
      var ricerca_pro;
      
       
    function cerca() 
    {
        var valorecampo = document.form1.cat.options[document.form1.cat.selectedIndex].value;
        // branch for native XMLHttpRequest object
        if (window.XMLHttpRequest) {
            ricerca_pro = new XMLHttpRequest();
            ricerca_pro.onreadystatechange = ricevi;
            ricerca_pro.open("GET", "cercasotto.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", "cercasotto.asp?id="+valorecampo,true);
                ricerca_pro.send();
            }
        }
    }
    
         
      function ricevi() {   
        var strRes;       
        var arrValori;      
    	  if (ricerca_pro.readyState == 4) {	    
    		  strRes=ricerca_pro.responseText;
    		  arrValori=strRes.split("|");
    		  document.form1.sottocat.options.length=0;		    
    		  for(i=0;i<arrValori.length;i++)
    		  {
    		    document.form1.sottocat.options[document.form1.sottocat.options.length]= new Option(arrValori[i].split("|")); 
    		  }
    		 }
    	}
    </script>
    quindi le due select sempre in questa pagina
    codice:
    <td valign="middle" bgcolor="#EBEBEB" class="carattere">
    				  <select name="cat" onChange="cerca()">
    				  <option value="0" selected="selected">Seleziona la Categoria</option>
    				  <%
    				  sql = "SELECT *FROM tab_cat ORDER BY nome_cat ASC"
    				  set rs = conn.execute(sql)
    				  while not rs.eof
    				  %>
    				  <option value="<%=rs("ID_categorie")%>"><%=rs("nome_cat")%></option>
    				  <%
    				  rs.movenext
    				  wend
    				  %>
    				  </select>				  </td>
                    </tr>
                    <tr>
                        <td width="126" height="50" valign="middle" bgcolor="#EBEBEB" class="carattere">
                        Nome Sotto Categoria :                    </td>
                        <td width="350" valign="middle" bgcolor="#EBEBEB" class="carattere">
    					<select name="sottocat">
                          
                        </select></td>
    questa è la pagina che recupera il valore della prima select:
    codice:
    
    <%
    
    	id = Request.QueryString("id")
    	sql2 = "SELECT nome_sottocat FROM tab_sottocat WHERE id_cat = " &id
    	set rs2 = conn.execute(sql2)
    	primo = 0
    	if not rs2.eof then
    		do while not rs2.eof
    		
    			if primo = 0 then
    			primo = 1 
    			array_citta = rs2("nome_sottocat")
    			else
    			array_citta = rs2("nome_sottocat") & "|" & array_citta
    			end if
    	
    		rs2.movenext
    		loop
    	end if
    
    %>
    Alla selezione della prima select non succede nulla nella seconda...
    Cosa ho sbagliato?
    Grazie a tutti!!

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ma la pagina ASP che riceve la richiesta non restituisce nulla al client VVoVe:

    Ti sposto su ASP
    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

  3. #3
    grazie per la risposta mich.
    Sapresti dirmi come posso risolvere?
    Non mi è molto chiaro questo meccanismo con ajax...

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998

    Re: AJAX e ASP: Select Concatenate

    Originariamente inviato da zetaweb
    grazie per la risposta mich.
    prego
    codice:
    
    <%
    
    	id = Request.QueryString("id")
    	sql2 = "SELECT nome_sottocat FROM tab_sottocat WHERE id_cat = " &id
    	set rs2 = conn.execute(sql2)
    	primo = 0
    	if not rs2.eof then
    		do while not rs2.eof
    		
    			if primo = 0 then
    			primo = 1 
    			array_citta = rs2("nome_sottocat")
    			else
    			array_citta = rs2("nome_sottocat") & "|" & array_citta
    			end if
    	
    		rs2.movenext
    		loop
    		response.write array_citta
    	end if
    ' non ci starebbe male nemmeno la chiusura della connessione 
    %>
    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

  5. #5
    Ciao Mich,
    come hai detto tu funziona, l'unica cosa è che io avrei bisogno di recuperare l'ID della seconda categoria, così ho provato a modificare il codice in questa maniera:

    codice:
    
    <%
    	'apro connessione e istanzio oggetti
    
    	pid = Request.QueryString("id")
    	strsql = "SELECT *FROM tab_sottocat WHERE id_cat = " &pid& " ORDER BY nome_sottocat ASC"
    	set rs = conn.execute(strsql)
    	primo = 0
    	if not rs.eof then
    		
    %>
    <select name="sottocat">
    <%
    	while not rs.eof
    %>
    <option value="<%=rs("ID_sottocat")%>"><%=rs("nome_sottocat")%></option>
    <%
    	rs.movenext
    	wend
    %>
    </select>
    <%
    	end if
    
    %>
    Però ottengo un risultato strano che puoi vedere direttamente online qui:
    www.assoluto.it/giugliano/cont_ins.asp

    in pratica mi scrive tutto il codice della select su di un rigo solo, però mostrandomi i valori corretti, sia dell'ID che del nome categoria.

    E' sbagliato ragionare comeho fatto io?
    Come lo posso aggiustare?

    Grazie mille

  6. #6
    ti do la risposta per il JS, anke se questo è ilforum di ASP

    invece di fare
    codice:
    strRes=ricerca_pro.responseText;
    arrValori=strRes.split("|");
    document.form1.sottocat.options.length=0;	
    for(i=0;i<arrValori.length;i++) {
            document.form1.sottocat.options[document.form1.sottocat.options.length]= new Option(arrValori[i].split("|")); 
    }
    metti un bel:
    codice:
    document.getElementById("nomeDIv").innerHTML=ricerca_pro.responseText;
    naturalmente il secondo SELECT inseriscilo in un DIV con ID=nomeDIv

    byebyeee

  7. #7
    Grande Scorpio funziona alla grande.
    Ho solo un piccolo problemino.
    Alucni valori non li visualizza bene, invece della "à" per esempio mi visualizza un "?" e tronca le due lettere immediatamente successive.
    Come mai?
    Sai come poter risolvere?

    Grazie ancora!

  8. #8
    fai un replace per le lettere accentate con i caratteri (ke non ricordo come si kiamano) corrispondenti

    es:

    codice:
    à = & agrave;
    è = & egrave;
    é = & eacute;
    ì = & igrave;
    ò = & ograve;
    ù = & ugrave;
    naturalmente senza gli spazi dopo la &, se io non li mettevo non riuscivo af arti vedere il codice :P
    anke se nn credo l'errore sia dovuto a quello, cmq prova non si sa mai


  9. #9
    sì era quello.
    io credevo fosse dovuto a qualcosa nello Script in Js.

    No problem con il replace in ASP!
    Grazie mille!!

  10. #10

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.