Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: data e ora

  1. #1
    Utente di HTML.it L'avatar di _J_
    Registrato dal
    Apr 2007
    Messaggi
    218

    data e ora

    salve ragazzi,
    ho una textbox che raccoglie una data come input, quello che vorrei fare è avvertire l'utente in caso di immissione di una data che è futura rispetto quella della consultazione della pagina...
    avrei pensato ad un comparevalidator, solo che nel campo valuetocompare non mi accetta Datetime.now()
    avrei pensato anche ad un customvalidator, solo che non conosco bene il javascript ...
    qualcuno di voi potrebbe aiutarmi? o anche suggerirmi una qc alternativa...

    grazie in anticipo!

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    pagina

    codice:
    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="a.aspx.vb" Inherits="prove_a" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Pagina senza titolo</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:TextBox ID="TextBox2" runat="server" ></asp:TextBox>
            
    
            <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="TextBox2" ControlToValidate="TextBox1" ErrorMessage="La data non deve essere maggiore dell'odierna" Operator="LessThanEqual" Type="Date"></asp:CompareValidator>
    
            
    
            <asp:Button ID="Button1" runat="server" Text="Button" /></div>
        </form>
    </body>
    </html>
    codice
    codice:
        Protected Sub TextBox2_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox2.Init
            Dim t As TextBox = DirectCast(sender, TextBox)
            t.Text = DateTime.Today.ToString("d")
            t.Style.Add("display", "none")
        End Sub
    Pietro

  3. #3
    Utente di HTML.it L'avatar di _J_
    Registrato dal
    Apr 2007
    Messaggi
    218
    ciao pietro.
    innanzitutto grazie per il tuo post...
    cmq io lavoro col c#, scusami se non te l'ho detto prima ma mi è sfuggito.


    ora non so se tu conosci il c# oltre a vb, cmq io ho provato a 'tradurre' quello che hai scritto tu ma a runtime qualsiasi data scrivo, me la contesta sempre come non valida...
    ecco il codice:

    protected void data(object sender, EventArgs e)
    {
    TextBox t = (TextBox)sender;
    t.Text = DateTime.Now.ToString();
    t.Style.Add("display", "none");

    }

    puoi aiutarmi?

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Mi dispiace, ma l'esperto di c# sei tu.
    Io ti consiglio di valutare l'idea e, se ti sembra buona, di implementarla nel linguaggio che più ti piace.

    L'idea è di inserire un TextBox nascosto, impostato per visualizzare la data odierna.
    Il controllo viene fatto con un CompareValidator, che valuta la data digitata con quella impostata nel textbox nascosto.

    ps. naturalmente l'ho provato e mi pare funzioni bene, anzi, l'ho conservato per il fututo.
    Pietro

  5. #5
    Utente di HTML.it L'avatar di _J_
    Registrato dal
    Apr 2007
    Messaggi
    218
    sì, la meccanica dietro al tuo script l'ho capita, infatti ho anche cercato di tradurre in c#...
    l'ho provato ma non mi va... non ho dubbi che il tuo script funzioni, io ti ho solo chiesto se conoscessi il c# affinchè potessi aiutarmi visto che a quanto pare la mia traduzione è errata.. (e quindi non sono poi tanto esperto...)
    non volevo farti irritare, scusami
    intanto grazie per il suggerimento

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    codice:
    <%@ Page Language="C#" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script runat="server">
    
        protected void TextBox2_Init(object sender, EventArgs e)
        {
            TextBox t = (TextBox) sender;
            t.Text = DateTime.Today.ToString("d");
            t.Style.Add("display", "none");
        }
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Pagina senza titolo</title>
    </head>
    <body>
        <h3>Immettere una data non superiore all'odierna</h3>
        <form id="form1" runat="server">
        <div>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:TextBox ID="TextBox2" runat="server" OnInit="TextBox2_Init"></asp:TextBox>
            
    
            <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="TextBox2" ControlToValidate="TextBox1" ErrorMessage="La data non deve essere maggiore dell'odierna" Operator="LessThanEqual" Type="Date"></asp:CompareValidator>
    
            
    
            <asp:Button ID="Button1" runat="server" Text="Button" />
        </div>
        </form>
    </body>
    </html>
    Pietro

  7. #7
    Utente di HTML.it L'avatar di _J_
    Registrato dal
    Apr 2007
    Messaggi
    218
    è quello che ho fatto... solo che il codice c# l'ho inserito non come script ma nel file aspx.cs direttamente.. precisamente nell'evento init della textbox2
    scusa la domanda che forse ti sembrerà stupida, ma cambia qcs tra i due posizionamenti?

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    io credo che tu abbia sbagliato questa istruzione

    t.Text = DateTime.Today.ToString("d");


    dove il "d" è importante
    Pietro

  9. #9
    Utente di HTML.it L'avatar di _J_
    Registrato dal
    Apr 2007
    Messaggi
    218
    scusami, ma 'd' sta per il giorno? infatti era quello che avevo omesso

  10. #10

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.