Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Problema Asp e Ajax

  1. #1

    Problema Asp e Ajax

    ciao a tutti, stò impazzendo con questo errore che mi compare:

    Dettagli errore pagina Web

    Messaggio: 'document.form.id' è nullo o non è un oggetto
    Linea: 15
    Carattere: 1
    Codice: 0
    URI: http://192.168.0.11/agora/ebari_vend...to.asp?idut=26

    lo script è questo qui:

    codice:
    <script type="text/javascript" language="javascript">
    var estrai_sottocategorie;
    var id
       
    function cerca_sottocategorie() 
    {
    
    id=document.form.id.options[document.form.id.selectedIndex].value
        // branch for native XMLHttpRequest object
        if (window.XMLHttpRequest) {
            estrai_sottocategorie= new XMLHttpRequest();
            estrai_sottocategorie.onreadystatechange = ricevi_sottocategorie;
            estrai_sottocategorie.open("GET", "ebari_estraisottocategorie.asp?id="+id, true);
            estrai_sottocategorie.send(null);
        // branch for IE/Windows ActiveX version
        } else if (window.ActiveXObject) {
            estrai_sottocategorie= new ActiveXObject("Microsoft.XMLHTTP");
            if (estrai_sottocategorie) {
                estrai_sottocategorie.onreadystatechange = ricevi_sottocategorie;
                estrai_sottocategorie.open("GET", "ebari_estraisottocategorie.asp?id="+id, true);
                estrai_sottocategorie.send();
            }
        }
    }
    
         
      function ricevi_sottocategorie() {   
        var sottocategorie;       
    	  if (estrai_sottocategorie.readyState == 4) {	    
    		  province=estrai_sottocategorie.responseText;
    
    			document.getElementById('sottocategoria').innerHTML = province;
    			 }
    	}
    </script>
    mentre la select box è:

    codice:
    <select name="categoria" onChange="cerca_sottocategorie();">
    <option value="0"></option>
    <%
    Dim Conn2
    Set Conn2=Server.CreateObject("ADODB.Connection")
    Conn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("mdb/test.mdb")
    'response.Write(sql)
    'response.end
    SQL2="SELECT * FROM categorie "
    'response.Write(sql)
    'response.end
    Set rec2 = Server.CreateObject("ADODB.Recordset")
    Set Rec2=Conn2.Execute(SQL2)
        While rec2.EOF = False
    %>
    <option value="<%=rec2("id")%>"><%=rec2("categoria")%></option>
    <%
            rec2.MoveNext
        Wend
        rec2.Close
    %>
    </select>

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Vuol dire che l'input (oggetto) non è presente nel documento verifica che lo stesso esista sia come name che come id, se la chiamata ajax l'esegui al caricamento della pagina devi usare onload=funzione(){...} oppure spostare la funzione a fondo pagina prima della chiusura del body altrimenti riceverai sempre l'errore per la funzione richiama l'oggetto prima della sua creazione, e non usare parole riservate (tipo form, id, select, etc...) per i nomi degli oggetti del form o del documento
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Questo script non mi è nuovo...

    La tua select si chiama "categoria" non "id". Tu invece nel javascript stai cercando di richiamare il valore di una select con name "id" all'interno di una form chiamata "form".

    Volendo puoi anche usare il comodo getElementById dando alla select un id, ad esempio "categoria" e quindi richiamando il suo valore con document.getElementById('categoria')...così risolvi tutti i dubbi.

    L'errore oggetto non trovato, come ti diceva Andrea (cavicchiandrea), è perché proprio non c'è quell'elemento.

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.