Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    254

    Javascript: leggere un Array ASP

    Ciao a tutti,
    devo creare una select i cui valori dipendono dalla scelta fatta in un'altra select. I valori di riferimento sono in un database a cui accedo tramite ASP. Avevo pensato di creare un array con questi valori, ma non riesco a leggerlo da javascript.
    Qualcuno di voi ha un suggerimento?
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    27
    Ciao,

    non puoi mai leggere una variabile creata lato server, da Javascript che è lato client.
    Quello che puoi fare è caricare i valori del db in ASP e metterli in una textbox nascosta (ad esempio), e poi ti vai a leggere questa texbox in javascript!

    Spero di averti aiutato
    francesco

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    254
    Le variabili singole (non array) riesco a leggerle, usando "<%=nomeVar%>" (nel caso di stringhe, senza apici nel caso di numeri).
    Ho provato anche ad usare una select nascosta, ma ho dei problemi con la barra di menu personalizzata.
    Ora provo a sostituire la select nascosta con una textarea.
    Grazie

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Se vuoi salvare i dati di un array puoi sempre crearti un array javascript da ASP. Ma siccome non conosco ASP non ti posso dire come fare.

    Comunque ti do' un esempio in php

    codice:
    <script language="JavaScript" type="text/javascript">
    <!--
    var a = new Array();
    <? 
    foreach($mio_array as $key => $value) {
     print "a[$key] = '$value';\n";
    }
    ?>
    //-->
    </script>
    Premetto che l'indice dell'array sia numerico ($key) e che il valore corrispondente sia alfanumerico ma senza apice dentro ($value).

    Cosi puoi tranquillamente usare i valori in js.

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da elfa
    Le variabili singole (non array) riesco a leggerle, usando "<%=nomeVar%>" (nel caso di stringhe, senza apici nel caso di numeri).
    Ho provato anche ad usare una select nascosta, ma ho dei problemi con la barra di menu personalizzata.
    Ora provo a sostituire la select nascosta con una textarea.
    Grazie
    Forse bisogna fare un passo indietro, altrimenti non mi spiego questa domanda.

    nel client,
    codice:
    var v = "<%=v%>";
    Non è vero che javascript client riesca a leggere una variabile asp E' semplicemente che, dal server si crea il codice javascript da programma. Perciò, se la variabile server v è uguale a pippo, il server creerà il codice javascript, v = "pippo";

    Capito questo, sapendo che un vettore in javascript è:

    var vettore = ["Stefano", "Carlo", "Nicola"]; per stringhe, o
    var vettore = [1,2,3]; per numeri, è chiaro che da server bisogna fare:

    var vettore = <%=variabilestringaserver%>;
    dove variabilestringaserver è una variabile server, composta nel server, magari interrogando una tabella, nel formato opportuno



    IL PROBLEMA, l'unico che conosco almeno, è sostituire il carattere " con \" altrimenti, ORRORE


    Pietro

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    254
    Grazie dei suggerimenti, ho risolto creando in ASP una stringa separata da virgole, e da javascript creo l'array corrispondente con split.

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da elfa
    Grazie dei suggerimenti, ho risolto creando in ASP una stringa separata da virgole, e da javascript creo l'array corrispondente con split.
    non hai risolto, fai lavorare il server ed il client per niente

    Pietro

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    guarda se ti serve questo esempio

    codice:
    <% option explicit%>
    
    <%
    
    dim v(2)
    v(0) = "Stefano"
    v(1) = "Carlo"
    v(2) = "Nicola""xxx"
    
    
    %>
    
    
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    	<HEAD>
    		<title>a</title>
    		<meta name="vs_defaultClientScript" content="JavaScript">
    		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    		<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
    		<meta name="ProgId" content="VisualStudio.HTML">
    		<meta name="Originator" content="Microsoft Visual Studio .NET 7.1">
    		
    	<script id="clientEventHandlersJS" language="javascript">
    <!--
    
    function Button1_onclick() {
    	var vettore = <%=vettorejs(v)%>;
    	var i, a = ""
    	for(i = 0; i < vettore.length; i++)
    		a += vettore[i] + "\n";
    	alert(a);
    	
    }
    
    //-->
    </script>
    </HEAD>
    	<body MS_POSITIONING="FlowLayout">
    		<INPUT id="Button1" type="button" value="Button" name="Button1" language="javascript" onclick="return Button1_onclick()">
    	</body>
    </HTML>
    <%
    function vettorejs(v)
    	dim i
    	dim a
    	a = ""
    	for i = 0 to ubound(v)
    		if a <> "" then a = a & ","
    		a = a & """" &  replace(v(i), """", "\""") & """"
    	next
    	a = "[" & a & "]"
    	
    	vettorejs = a
    	
    end function
    
    %>
    Pietro

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    254
    Intendi dire per evitare la split?

  10. #10
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da elfa
    Intendi dire per evitare la split?
    No. E' per una questione di logica

    Pietro

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.