Newsgroup: it.comp.www.asp
Titolo: asp, javascript e controlli

Salve a tutti,
    durante lo sviluppo di un sito asp(vbscript) mi sono imbattuto in un
problema non irrilevante riguardante i controlli da effettuare su un form...
Di solito uso fare i controlli nei campi di un form tramite l'ausilio di
javascript poichè è un linguaggio eseguito sul client e in caso di errore
nella compilazione la procedura si blocca. Mi sono accorto però che se un
browser ha il javascript disabilitato, vedi alcuni possessori di firefox,
questi controlli saltano e non va bene... Quindi pensavo di eseguire in fase
di invio, prima della registrazione sul db, una pagina con tutti i test in
asp/vbscript e mi risolvo il problema, anche se secondo me è un processo sul
server che si poteva risparmiare.
La mia domanda però è anche questa... e cioè se io in una pagina .asp
inserisco del codice in javascript, questo pezzo di codice viene eseguito
dal browser o da IIS? In realtà è solo un redirect e nulla di più ma oltre
alla minuscola parte in javascript la domanda mi sembra accettabile no?
Infine... Secondo voi è bene controllare il giusto riempimento di un form
sul server? E c'è un modo per riattivare gli script sul client, effettuare
il test e ristoppare tutto? Immagino già di no ma intanto la butto la...
Grazie!

 il test e ristoppare tutto? Immagino già di no ma intanto la butto la...
No.
-- 
"Ho smesso di fumare.
 Vivrò una settimana di più.
 E in quella settimana pioverà a dirotto"
									    W.A.

 var passate via Form e non i valori dei campi)?
Banale non è mai nullo nella programmazione... e ti ringrazio!
Una cosa la sapevo... so che ASP essendo un ambiente di sviluppo può
contenere + linguaggi e il vbscript è uno... l'altro è il jscript... ciò che
non so è come funziona, come si dichiara (basta come javascript inserire il
codice tra i tag <script></script> e come language inserire jscript?) e
soprattutto come si richiama il contenuto di un form o il contenuto di una
"querystring"?
Grazie!

 "querystring"?
Request.Form["pippo"]
Request.QueryString["pippo"]
-- 
"e mai che mi sia venuto in mente
 di essere più ubriaco di voi
 di essere molto più ubriaco di voi"
									  F.D.A.

la cosa migliore da fare è smepre un controllo incrociato:
jscript lato client e vbscript lato server, proprio per ovviare ai js
disabilitati
se passa il controllo js o cmq è disabilitato, poi la pagina dell'action
della form avrà i relativi controlli in vbscript .. restituendo i relativi
errori nel caso ci siano
ovviamente consiglio sempre di non limitarsi a usare roba già fatta .. ma
farsi controlli ad hoc, magari utilizzando regular expression e function
ciao

 disabilitati
ohibò, e perché mai? soprattutto se ha già function ben fatte client-side
in javascript perché dovrebbe usare vbscript e rifarsele quando le ha
bell'e pronte per jscript?
-- 
"Voi abili a tenere sempre un piede qua e uno là
 avrete un avvenire certo in questo mondo qua
 però la dignità
 dove l'avete persa?"
									    V.R.


esempio pratico?
form di invio della mail
la invii con cdonts o cdosys
dato che processi codice asp, la pagina è asp e non jscript .. quindi con
due righe metti anche i controlli server-side ... a meno che non invii mail
in jscript ;)

 in jscript ;)
Uhm sul fatto che in una pagina asp processi codice asp avrei qualche
dubbione... devi sapere che ASP č un ambiente... in questo ambiente che
viene processato lato server puoi usare diversi tipi di linguaggio... io
fino a poco fa usavo solo vbscript e vabbč il classico html... ma sapevo
dell'esistenza del jscript che, peraltro, č supportato da IIS. Detto questo
se c'č qualcuno che lo usa piů di me e mi dice che i controlli che ho fatto
lato client li posso copiare in una pagina asp con l'aggiunta di piccoli
controlli io sono felicissimo... Ammetto perň che mi viene mooooolto +
facile scrivere i controlli in vbscript.
Cmq al + presto metto in pratica il sistema del jscript e vedo se mi
convince... Sarebbe utile sapere se IIS processa meglio il codice in
vbscript o in jscript.

 in jscript ;)
? sai che non ho capito?
sono 2 cose diverse: io ho un js client-side con funzioni generiche di
validazione, e uso *LO STESSO JS* incluso server-side per i controlli
server-side. Mi sembra cosa buona e giusta ...
Per invio mail è un altro discorso più generico: io preferisco usare
jscript, te da quel che ho capito preferisci usare vbscript ... in questo
discorso vi erano funzioni javascript già fatte, per questo "spingevo"
jscript in questo caso (lo spingo sempre del resto, ma questo è un altro
discorso...)
Cosa vuol dire "la pagina è asp e non jscript"? asp è una tecnologia che,
di default, viene distribuita con linguaggi di scripting jscript e
vbscript...
Giusto per (Non ho appunto ben capito quello che stai dicendo) ti posto una
function jscript per inviare mail (scritta al volo, senza controlli):
<%function SendMail(bd,to,from,subj) {
   var Mail=new ActiveXObject("CDONTS.NewMail");
   Mail.Body=bd;
   Mail.From=from;
   Mail.To=to;
   Mail.Subject=subj;
   Mail.MailFormat=0;
   Mail.BodyFormat=0;
   Mail.Send();
   Mail=null;
}%>
-- 
"Affacciati affacciati benedici, guardaci
 guardaci...guardaci!
 Tanto sono quasi duemila anni che stai a guardare!"
									    E.B.

 E il resto è esattamente uguale ...
Senti ma per gli alert e i window.open (x i popup) come posso fare? Lato
server mi sembra complicatuccio...



io ho parlato di verifiche, non di avviso
cioé: io ho la mia libreria che verifica e restituisce true-false (es. 
function IsNumeric(...), function IsValidMail(...), function IsRequired(..) 
etc etc). Ovviamente l'eventuale messaggio varia: lato client potrebbe 
essere un qualcosa del tipo
 if(!IsRequired(valore)) alert("errore");
Lato server dovrai inventarti qualcosa da inviare al client, esempio io ho 
una function per visualizzare gli alert onload; sarebbe un qualcosa del 
tipo (scrivo così al volo un esempio magari stupido:)
if(!IsRequired(valore))
 Response.Write("<scr"+"ipt 
type=\"text/javascript\">window.onload=function() {alert(\"Errore, campo 
obbligatorio non compilato\");}</scr"+"ipt>");
Cioé: il mio discorso era di logica, non di applicazione. Una libreria con 
tutte le verifiche, dopodiché dovrai per forza distinguere client-side da 
server-side per visualizzare l'eventuale alert, magari focus sul controllo 
incriminato o chissà che altro...
