Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585

    passaggio variabile funzione javascript in ASP

    Ciao a Tutti,
    sara' il caldo di questi giorni che abbassa la concentrazione, ma non riesco a passare il valore della variabile filename , dalla funzione javascript ad ASP. ...

    Ho un pulsante, chiamato file1 ,
    in cui se uno seleziona il path che vuole per scegliere il file di interesse,
    il valore di file1 viene dato in pasto alla funzione ff che restituisce,
    e mette nella variabile filename solo il nome del file, tralasciando il path relativo

    vorrei che quando uno schiaccia il pulsante Dump, apparisse stampato a video il valore della variabile filename ...

    Questo e' il codice... ho provato in tutte le maniere,
    anche guardando in internet e negli argomenti di questo forum,
    ma non sono riuscito a risolvere il problema: non mi da' errore, vedo solo che la variabile filename e' vuota !!

    <%@ Language=VBScript %>
    <% Option Explicit %>
    <%
    If Request.QueryString("action")="dump" Then
    Dim filename
    Response.Write("<script>ff();</script>")
    Response.Write("variabile e':" & filename)

    ......
    End If
    %>
    <html>
    <head>
    <meta http-equiv="Content-Language" content="it">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>AAA</title>
    <script type="text/javascript">
    function ff()
    {
    var fullpath=document.getElementById("file1 ").value;
    if (fullpath) {
    var startIndex = (fullpath.indexOf('\\') >= 0 ? fullpath.lastIndexOf('\\') : fullpath.lastIndexOf('/'));
    var filename = fullpath.substring(startIndex);
    if (filename.indexOf('\\') === 0 || filename.indexOf('/') === 0) {
    filename = filename.substring(1);
    }
    //return filename;
    }
    }
    </script>
    </head>
    <body OnLoad="ff();" >
    <div align="center">
    <form method="GET">
    <table>
    <input type="file" id="file1" name="file1 " size="14" onchange="return ff();">
    <input type="hidden" name="action" value="dump">


    <button type="submit">Dump </button>

    </td>
    </table></form></div></body>
    </html>


    Grazie mille in anticipo !!!

  2. #2
    potrei dire una cavolata ma se non erro asp elabora le variabile server side mentre javascript lato client. Il risultato è che quando asp cerca ti visualizzarti la variabile tira fuori un elemento che ancora non esiste.

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    In una applicazione web il server viene a conoscenza dei cambiamenti avvenuti in una pagina che sta sul client quando questo esplicitamente richiede una nuova risorsa ed invia le informazioni necessarie per ottenerla...

    Nel tuo caso quindi non puoi sapere prima di inviare la pagina al client, ovvero quando il codice ASP viene elaborato, il valore di una variabile client che ancora non esiste...

    Inoltre tu richiami la funzione javascript quando sicuramente il campo di tipo file non e' valorizzato, e non tratti in alcun modo la variabile ricavata per ottenerne l'invio al server.

    Chiarisciti meglio il flusso delle informazioni (server, client, interazione dell'utente, richiesta al server) in funzione di cio' che vuoi ottenere con la tua applicazione, eventualmente descrivi meglio il problema.

    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

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585
    Grazie amici per le dritte !!!

    Quello che dite e' giustissimo, pero':

    1. schiaccio il pulsante di tipo file e scelgo il file di mio interesse
    2. parte la funzione ff che mi restituisce la variabile filename (che tramite un alert vedo che mi ritorna SOLO il nome del file e non l' intero path)
    3. schiaccio il pulsante Dump che e' di tipo submit, quindi mi aspetto che il server e' a conoscenza di tutti i dati tra cui la variabile filename che rimane sempre settata ...

    Ho visto che se al posto di questo codice:

    <%@ Language=VBScript %>
    <% Option Explicit %>
    <%
    If Request.QueryString("action")="dump" Then
    Dim filename
    Response.Write("<script>ff();</script>")
    Response.Write("variabile e':" & filename)
    End If
    ......

    metto questo

    <%@ Language=VBScript %>
    <% Option Explicit %>
    <%
    If Request.QueryString("action")="dump" Then
    Response.Write("variabile e':" & request.querystring("file1"))
    ......
    End If


    vedo a video il percorso completo del path + nome_file

    Quello che mi interessa e' solo stampare a video il nome del file senza il path realtivo...

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da br1
    Inoltre tu richiami la funzione javascript quando sicuramente il campo di tipo file non e' valorizzato, e non tratti in alcun modo la variabile ricavata per ottenerne l'invio al server.
    Spiega meglio cosa vuoi fare... anche perche', come gia' detto, ottenere la variabile sul client non serve a nulla se tale valore non lo invii esplicitamente al server, che mai potra' di sua iniziativa frugare fra le variabili javascript del client .

    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

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585
    Grazie come sempre, Br1 !!!

    ho trovato nel forum di HTML un articolo che mi ha risolto il problema cosi':

    <%@ Language=VBScript %>
    <% Option Explicit %>
    <%
    If Request.QueryString("action")="dump" Then
    Dim filename, idx, path
    path = Request.QueryString("file1")
    idx = InStrRev(path, "\") + 1
    filename = Mid(path, idx)
    Response.Write("la variabile e':" & filename)
    End If

    %>
    <html>
    <head>
    <meta http-equiv="Content-Language" content="it">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>AAA</title>
    </head>
    <body>
    <div>
    <form method="GET">
    <table>
    <input type="file" id="file1" name="file1" size=14>
    <input type="hidden" name="action" value="dump" />


    <button type="submit">Dump</button>

    </td>
    </table></form></div></body>
    </html>


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.