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

    Problema visualizzazione parte del record (Js+Asp)

    Salve ragazzi, dopo tante consultazioni nel forum non ho ancora risolto il mio problema.
    Io ho due menu a tendina con select che vengono riempite da record raccolti da un db Access. Fino a qui tutto bene. Il problema sta che nel secondo menu a tendina vorrei che i record vengano stampati con un massimo di 100 caratteri. Vi posto il codice Js che ho posto tra i tag <head> </head>:

    codice:
    <script type="text/javascript" language="javascript">
    //<![CDATA[
    url			= "";
    d			= document;
    preloadText = "Generazione dati in corso.....";
    function caricaPagina(pagina,idLayer) 
    {
    	if (d.getElementById) {var x=(window.ActiveXObject)?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();}
    	if (x) 
      	{
    		d.getElementById(idLayer).innerHTML = preloadText;
        	x.onreadystatechange = function() 
    							   {
    							   	 if (x.readyState == 4 && x.status == 200) 
    							   	 {
    							   		el=d.getElementById(idLayer);el.innerHTML = x.responseText;
    								 }
    							   }
     		x.open("GET", url + pagina, true);
        	x.send(null);
      	}
    }
    function checkForm()
    {
    	var ilForm 				= d.forms[0];
    	var err					= true;
    	var l1				= document.getElementById("Error1");
    	var l2				= document.getElementById("Error2");
    	l1.style.display = "none";l2.style.display= "none";
    	if (ilForm.CodCategoriaMerceologica.value == "") 
    	{ 
    		l1.style.display 	= "block";l1.innerHTML = "E' necessario selezionare una Categoria Merceologica.";	
    		err					= false;
    	}
    	if (ilForm.CodCategoriaPrincipale.value == "") 
    	{ 
    		l2.style.display	= "block";l2.innerHTML= "E' necessario selezionare una Sottocategoria.";
    		err					= false;		
    	}
    	return err;
    }
    //]]>
    </script>
    <script type="text/javascript"> 
    <!-- 
    var cod=new Array();
       cod[0]=new Array("Seleziona una Sottocategoria");
       cod[1]=new Array(<%
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/mdb-database/fornitori.mdb")
    
    sql = "SELECT * from categorieprincipali WHERE Codice=1"
    
    Set Rs = Server.CreateObject("ADODB.Recordset")
    Rs.Open sql, Conn, 1, 3
    
    testo = Rs("DescrCategoriaPrincipale")
    testo = Left(testo, 100) 
    
    RecordsPerPage = 100
                  Page = Request.QueryString("page")
                If Len(page) > 0 And IsNumeric(page) Then
                  page = CLng(page)
                Else
                  Page = 1
                End If
    
    	               
                If Rs.EOF Then
                  Response.Write "<option value="">Nessun dato presente</option>"
                Else
                  Rs.PageSize = RecordsPerPage
                  Rs.AbsolutePage = Page
    
                 
                  For x = 1 To RecordsPerPage
               If not rs.eof then 
    
    Response.write testo 
    
    Rs.MoveNext
                End If
                  Next
                End If
    
    Rs.Close
    Set Rs = Nothing
    Conn.Close
    Set Conn = Nothing
    
    %>"Altro...............");
    
       cod[2]=new Array(<%
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/mdb-database/fornitori.mdb")
    
    sql = "SELECT * from categorieprincipali WHERE Codice=2"
    
    Set Rs = Server.CreateObject("ADODB.Recordset")
    Rs.Open sql, Conn, 1, 3
    
    testo1 = Rs("DescrCategoriaPrincipale")
    testo1 = Left(testo1, 100) 
    
    RecordsPerPage = 100
                  Page = Request.QueryString("page")
                If Len(page) > 0 And IsNumeric(page) Then
                  page = CLng(page)
                Else
                  Page = 1
                End If
    
    	               
                If Rs.EOF Then
                  Response.Write "<option value="">Nessun dato presente</option>"
                Else
                  Rs.PageSize = RecordsPerPage
                  Rs.AbsolutePage = Page
    
                 
                  For x = 1 To RecordsPerPage
               If not rs.eof then 
    
    Response.write testo1 
    
    Rs.MoveNext
                End If
                  Next
                End If
    
    Rs.Close
    Set Rs = Nothing
    Conn.Close
    Set Conn = Nothing
    
    %>"Altro...............");
    
    function Riempi(source) 
       { 
       with (document.operatori.CodCategoriaPrincipale) 
         { 
         while (options.length > 0) 
           options[0]=null; 
         for (i=0;i<cod[source].length;i++) 
           options[i]=new Option(cod[source][i]) 
         options.selectedIndex=0; 
          } 
       } 
    //--> 
    </script>
    Nel tag <body> ho inserito questo comando:

    codice:
    onload="caricaPagina('db.asp?type=CodCategoriaMerceologica','AHAH_1');"
    che richiama la selezione dei dati nella pagina che contiene la connessione al db.
    Alla fine ho nel corpo le due select:

    codice:
    1)  <div id="AHAH_1">
    <select name="CodCategoriaMerceologica">
    <option value="">
    seleziona una Categoria Merceologica
    </option></select></div>
    
    2)  <div id="AHAH_2">
    <select name="CodCategoriaPrincipale">
    <option value="">seleziona una Sottocategoria
    </option></select></div>
    Il problema sta nel fatto che i dati della seconda select mi si visionano per intero e non secondo la limitazione dei 100 caratteri. Ho evidenziato le due select. In rosso la prima e in blu la seconda.


  2. #2
    left è vb
    devi usare substring

    il primo è una funzione, mentre il secondo un metodo, quindi usali come tali

  3. #3

    ???????????

    Eppure in un semplice codice asp funziona Left anche consigliato qui nel forum:

    (Es. http://forum.html.it/forum/showthrea...ight=substring)

    Come intendi utilizzare il substring?

    Grazie

  4. #4
    con vb funziona left, con js no
    fai pace con quest'idea

  5. #5
    Si si per carità.. volevo sapere come poter modificare il mio codice

    E' la prima volta che incontro questa differenza.

  6. #6
    faccio una prova al volo

    testo = Rs("DescrCategoriaPrincipale")
    testo2 = testo.substring(testo, 100)

    prova, potrebbe non andare ma la filosofia è questa

    potresti comunque avere un problema: la stringa te la taglia ma non esegue correttamente il ciclo

    js è più rigido di vb sui tipi di dato

  7. #7
    In effetti mi da un errore di VBscript e mi richiede l'oggetto.

    :rollo:

  8. #8

  9. #9
    Cerco qualche aiuto per risolvere questo enigma..purtroppo sono giorni che bazzico nel forum, ma non ho risolto ancora

    Continuerò a cercare, ma ho il brutto presentimento di non risolvere da solo Uffff

  10. #10
    Qualcuno gentilmente può aiutarmi?

    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.