Custom validator e javascript

domenica 19 agosto 2007 - 21.36

_J_ Profilo | Senior Member

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...

_J_

"Chi fa domande rischia di sembrare stupido,
chi non ne fa rischia di restare stupido..."

"Conosco me stesso? No, non parlo con gli estranei..."

alx_81 Profilo | Guru

>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...
>
Ciao,
il problema sta nel metodo getElementById..
l'Id che gli devi passare è l'id del tuo oggetto lato client..
basta indicare TextBox3 o TextBox2.. ma senza .Text.. quella è una proprietà dell'oggetto TextBox..

per sicurezza visualizza l'html della pagina che ottieni sul browser.. l'id che viene creato nel textbox è quello che devi usare nel javascript..
ciao!
Alx81 =)

http://blogs.dotnethell.it/suxstellino

_J_ Profilo | Senior Member

allora, il codice funziona alla grande, ma il document.write mi dà l'effetto che la stringa di testo che voglio visualizzare me la dà su una pagina totalmente vuota... non lavora come il response.write che ti fa vedere il mess sopra tutti gli elementi della pagina...

io vorrei creare un codice che facesse il confronto che voglio, e mi facesse vedere il messaggio di errore che imposto nel custom validator... senza document.write, alert ecc...

spero di essere stato chiaro...
_J_

"Chi fa domande rischia di sembrare stupido,
chi non ne fa rischia di restare stupido..."

"Conosco me stesso? No, non parlo con gli estranei..."

alx_81 Profilo | Guru

>allora, il codice funziona alla grande, ma il document.write
>mi dà l'effetto che la stringa di testo che voglio visualizzare
>me la dà su una pagina totalmente vuota... non lavora come il
>response.write che ti fa vedere il mess sopra tutti gli elementi
>della pagina...
Ogni richiamo a document.write sovrascrive il documento corrente.
Quindi ogni volta che lo richiami la pagina viene sovrascritta..
>
>io vorrei creare un codice che facesse il confronto che voglio,
>e mi facesse vedere il messaggio di errore che imposto nel custom
>validator... senza document.write, alert ecc...
non devi fare la document.write..
basta che la funzione gestisca il ritorno del valore di stato del validatore (true o false) e in base a quello automaticamente ti compare l'error message definito nel validation contro. Ma devi seguire delle regole per scrivere un validatore custom..
leggiti per bene questo link..

CustomValidator Class
http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.customvalidator.aspx
ciao!
Alx81 =)

http://blogs.dotnethell.it/suxstellino

_J_ Profilo | Senior Member

ho tolto il document.write, lasciando solo return=true se entrambe le txtbox sono non nulle, eppure continua a non segnarmi nulla..
fà tutto come se il validatore non ci fosse...
_J_

"Chi fa domande rischia di sembrare stupido,
chi non ne fa rischia di restare stupido..."

"Conosco me stesso? No, non parlo con gli estranei..."

alx_81 Profilo | Guru

>ho tolto il document.write, lasciando solo return=true se entrambe
>le txtbox sono non nulle, eppure continua a non segnarmi nulla..
>fà tutto come se il validatore non ci fosse...
come ti torno a ripetere devi seguire regole nella definizione delle funzioni di javascript..
rileggi bene il link che ti ho passato..
Alx81 =)

http://blogs.dotnethell.it/suxstellino
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5