Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di _J_
    Registrato dal
    Apr 2007
    Messaggi
    218

    custom validator e javascript

    salve ragazzi..

    sono nuovo di questa stanza e saluto tutti![]
    volevo esporvi il mio problema, sperando possiate aiutarmi..

    sto usando un custom validator per impedire che due textbox siano NON vuote nello stesso tempo, ma ho problemi col javascript visto che a runtime midice sempre che è 'previsto oggetto'
    io non conosco il javascript, però in base alle guide che ho letto, ho scritto questo codice:

    <script language="javascript" type="text/javascript">
    private void confronto ()
    {
    var t1=String(document.getElementById("TextBox3.Text") );
    var t2=String(document.getElementById("TextBox2.Text") );
    if (!t2="" && !t1=="")
    document.write("Non è possibile che il documento sia stato emesso all'estero e nello stesso tempo anche in italia!");
    }
    else document.write("ok");
    </script>

    di sicuro (vista la mia inesperienza) sbaglio io, ma non so dove...
    se qualcuno di voi può aiutarmi, gli sarei enormemente grato...

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Allora, questo è un forum di javascript :master: e non si deve presumere che si conosca php o altro linguaggio server.
    Per esempio, i custom validator :master: che diavolo sono? per non parlare dei TextBox che semplicemente non esistono, come non esiste la proprietà Text dei TextBox.
    E i qualificatore void di una procedura? neanche questa esiste

    Io consiglio o di spostare la discussione nel forum opportuno (che mi piacerebbe sapere quale é :master: ) oppure di spiegare bene usando solo terminologia html.

    ps. comunque, a me risulta che la firma della procedura dei così detti validatori personalizzati, sia:

    function miafunzione(source, arguments)


    ps. ps. mi piacerebbe sapere chi ti ha consigliato di usare document.write("*** in un validatore personalizzato
    Pietro

  3. #3
    Utente di HTML.it L'avatar di _J_
    Registrato dal
    Apr 2007
    Messaggi
    218
    ciao!
    scusami! credevo questa fosse una stanza che trattasse di javascript usato anche nel contesto dei linguaggi server oltre al javascript in senso stretto...
    ho scelto questa stanza per postare il messaggio proprio per il motivo precedente...

    cmq il linguaggio che uso è il c#, inoltre tutti gli errori che mi hai contestato sono dovuti alla mia inesperienza proprio col javascript...
    le guide che ho letto non mi hanno aiutato molto in questo senso...

    poi hai scritto:
    mi piacerebbe sapere chi ti ha consigliato di usare document.write("*** in un validatore personalizzato

    ti rispondo subito: anche qui mi ha consigliato la mia inesperienza, perchè non ho mai avuto a che fare con i custom validators... tutto qui.

    mi dispiace ancora di aver scelto la stanza sbagliata, ma credevo fosse quella giusta.
    ciao

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: Naturalmente non mi sono spiegato proprio per niente e mi dispiace. La questione è: vuoi aiuto per javascript o no? se sì, fai finta che nessuno conosca c#, asp.net, php e altro linguaggio server. Ti guardi l'html prodotto dal browser e, per esempio, se hai due TextBox del genere (conosciuti da nessuno):

    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>

    ti riferisci nella domanda ai due elementi html prodotti (conosciuti da tutti)

    <input name="TextBox1" type="text" id="TextBox1" />
    <input name="TextBox2" type="text" id="TextBox2" />

    dopo di che, lasciando perdere tutte le terminologie server, ti concentri nella domanda:

    ad esempio
    vorrei fare un controllo in modo tale che il controllo sia valido se i due input non siano vuoti contemporaneamente

    oppure, il controllo è valido se uno solo dei due input sia riempito


    Dopo di che, l'eventuale codice javascript suggerito va adattato e assiemato da te nel contesto del tuo problema specifico.

    Solo a titolo di esempio, suppongo di avere due elementi input. Quando faccio l'invio, vorrei che il controllo di validità sia positivo se uno solo dei due elementi sia riempito, ossia:

    tutte e due vuoti --> falso
    tutte e due pieni --> falso
    uno o l'altro riempiti --> vero

    in questo caso, la paginetta di esempio ultrasemplificata è:
    codice:
    <%@ Page Language="VB" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script runat="server">
    
        Protected Sub CustomValidator1_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs)
            Dim a As Boolean = Me.TextBox1.Text.Trim = String.Empty
            Dim b As Boolean = Me.TextBox2.Text.Trim = String.Empty
            args.IsValid = a Xor b
        End Sub
    
        Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
            Me.Validate()
            If Me.IsValid Then
                'PrintLn("lancio procedura perchè i validatori sono positivi")
            Else
                'PrintLn("Non lancio procedura perchè i validatori sono negativi")
            End If
        End Sub
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Pagina senza titolo</title>
    
        <script language="javascript" type="text/javascript">
    // <!CDATA[
    function controlla_emissione_documento(source, arguments)
    {
        var a = trim($("TextBox1").value) == "";
        var b = trim($("TextBox2").value) == "";
        
        arguments.IsValid = (a ^ b);
        
    }
    
    //-------------------------------------------------------------------
    // rimuove gli spazi iniziali e finali da strValore
    //-------------------------------------------------------------------
    function trim(stringa)
    { 
    	stringa = stringa + "";
    	return stringa.replace(/^ */,"").replace(/ *$/,""); 
    } 
    
    function $(id_element) 
    {
        return document.getElementById(id_element);
    }
    
    // ]]>
        </script>
    
    </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:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
            <asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="Non è possibile che il documento sia stato emesso all'estero e nello stesso tempo anche in italia!" ClientValidationFunction="controlla_emissione_documento" OnServerValidate="CustomValidator1_ServerValidate"></asp:CustomValidator>
        </div>
        </form>
    </body>
    </html>
    dove naturalmente ci concentriamo sulla parte client, ossia il codice tra <script language="javascript" type="text/javascript"> e </script>
    Pietro

  5. #5
    Utente di HTML.it L'avatar di _J_
    Registrato dal
    Apr 2007
    Messaggi
    218
    ok, capito il concetto.... si vede che devo imparare ancora tanto di questi ambienti...

    e grazie anche per il codice, che proverò...

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.