Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2000
    Messaggi
    53

    Asp.net - c# - Passaggio valori da Javascript.

    il mio problema è il seguente:

    devo passare dei valori presi in javascript (per esempio la risoluzione video dell'utente) a delle caselle di testo nascoste lato server, ma non ci riesco:

    <script language=javascript>

    w = screen.width; h=screen.height;

    document.frm.hdnStatJS_w.value = w;

    </script>


    <input type="hidden" name="hdnStatJS_w" id="hdnStatJS_w" runat="server" value="">

    Ho provato anche a creare con javascript a mia casella di testo nascosta, ma non riesco a capire il perchè non posso farla lato server mi da errore:

    <script language="JavaScript">
    document.write("<input type='hidden' name='ahdnStatJS_w' runat=server>");
    </script>

    Grazie a tutti.......

  2. #2
    prova cosi:
    codice:
    <script language=javascript> 
    
    w = screen.width; h=screen.height; 
    
    document.all['hdnStatJS_w'].value = w; 
    
    </script>

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    codice:
    	<body MS_POSITIONING="FlowLayout">
    		<form id="Form1" method="post" runat="server">
    			<asp:Button id="Button1" runat="server" Text="Button"></asp:Button>
    			<INPUT type="hidden" name="larghezza"> <INPUT type="hidden" name="altezza">
    			<script>
    				document.Form1.larghezza.value = screen.width;
    				document.Form1.altezza.value = screen.height;
    			</script>
    		</form>
    	</body>
    recuperi i valori naturalmente dopo il submit
    codice:
        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'Inserire qui il codice utente necessario per inizializzare la pagina
            PrintLn(Trim(Me.Request.Form("larghezza")), "larghezza")
            PrintLn(Trim(Me.Request.Form("altezza")), "altezza")
    
        End Sub
    Se agli hidden aggiungi un id e l'attributo runat=server, puoi recuperare il loro valore nel server pure in questo modo:
    codice:
                PrintLn(Me.larghezza.Value, "larghezza")
                PrintLn(Me.altezza.Value, "altezza")
    Pietro

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2000
    Messaggi
    53
    provo grazie.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2000
    Messaggi
    53
    si il valore viene preso...ma se poi in basso alla pagina provo a fare

    Response.Write("aaaa" + hdnStatJS_w.Value);

    hdnStatJS_w.Value risulta vuoto

    io faccio così:

    <script language=javascript>
    document.frm['hdnStatJS_w'].value = w;

    //se faccio un alert il valore lo vedo

    </script>


    //appena faccio:

    Response.Write("aaaa" + hdnStatJS_w.Value);

    //Il valore è vuoto......

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2000
    Messaggi
    53
    A me il valore non serve dopo il submit della pagina, ma subito....

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da bigrino
    A me il valore non serve dopo il submit della pagina, ma subito....
    Ma dico, ci prendi in giro o scherzi?
    Pietro

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2000
    Messaggi
    53
    Perchè......non voglio prendere in giro nessuno....

    a me serve leggere la risoluzione video tramite javascript e poi passarla in qualche modo alla pagina e ho provato in delle caselle di testo nascoste..........non è possibile??????

  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    gentilissimo bigrino, vediamo un poco
    non puoi fare quello che chiedi, così, pari pari. Però, se ti ingegni un poco puoi comunque risolvere. Non voglio perdere tempo in c#, perciò di dò l'esempio in basic, e tu lo adatti:
    nel load della pagina puoi mettere:
    codice:
            If Not Me.IsPostBack Then
                Me.RegisterStartupScript("", "<script>document.forms[0].submit();</script>")
            Else
                PrintLn(Me.larghezza.Value, "larghezza")
                PrintLn(Me.altezza.Value, "altezza")
    
            End If
    in altre parole, obblighi la pagina a richiedere quel valore che solo il client può darle. Prova perchè funziona
    Pietro

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2000
    Messaggi
    53
    scusa se ti faccio perdere tempo...è che forse avevo espresso male il concetto....ora lo esprimo meglio...cmq provo come mi hai detto tu:

    Provo a spiegarmi meglio...scusa ancora:

    Io tramite javascript leggo la risoluzione video dell'utente e poi vorrei passare questo valore in qualche variabile (senza fare submit) che mi serve per alcuni metodi che si trovano all'interno della pagina....ho pensato per questo a delle caselle di testo nascoste........per esempio per l'ip non ho problemi perchè faccio:

    string sIP = Request.ServerVariables["REMOTE_ADDR"];

    lo stesso per il browser:

    string sBrowserType = Request.UserAgent;

    ma per la risoluzione video avevo pensato a questo:

    string sResolution = hdnStatJS_w.Value +"x"+ hdnStatJS_h.Value;

    dove hdnStatJS_w e hdnStatJS_h sono delle caselle nascoste lato server che valorizzo così:

    <script language=javascript>
    document.frm['hdnStatJS_w'].value = w;
    </script>

    ma non funziona perchè il valore di hdnStatJS_w e hdnStatJS_h risulta vuoto.

    Grazie.

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.