277 messaggi dal 13 giugno 2001
Ciao,

Mi trovo un problema che non riesco ad venire fuori in nessun modo:

in un form devo controllare quando faccio il submit se tutti i campi richiesti siano stati compilati. Fin qui tutto ok con javascript.

Il problema si presenta, perchè mi trovo anche una textarea associato con un editor, quindi anche se la txt risulta vuota il javascript non lo segnala, perchè pur essendo vuota la txt facendo da asp un len(txt) mi da lunghezza 15, probabilmente ci sarà del codice html...


generalmente la verifica dei campi vuoti la faccio così:

<script language="javascript"> 
function validate(theForm)
{if (theForm.x1.value.length <=0 || theForm.x1.value.charAt(0) == " ")
{alert("Compilare il campo X1");
theForm.x1.focus();
return false;}}
</script>


Con la txtarea non và. Come posso fare per risolvere il problema??

Carmen
277 messaggi dal 13 giugno 2001
All'ora, visto che nessuno riesce ad aiutarmi, ed io sono disperata, proporrei in un altro modo. Invece di fare la verifica in javascript la farei direttamente in asp, però servirebbe una funzione che elimina tutti i tag html. Per intenderci meglio, per fare la verifica il contenuto della txt deve ritornare solo numeri e lettere nessun altro tipo di carattere.

Si può fare cio???

Carmen
27 messaggi dal 27 maggio 2007
Ciao Carmen
per eliminare i tag puoi usare le Regular expressions, che vengono eseguite a lato server.
se fai una ricerca in rete trovi una miriade di siti con relativi esempi.

buon lavoro
277 messaggi dal 13 giugno 2001
Ciao, Per quanto riguarda il fatto di pulire il contenuto della textarea dai tag html per poter cosi eseguire la ricerca mi sono fatta questa funzione:


Function NoHtmlEditor(strInput) 
strInput=replace(trim(strInput),"<P>&nbsp;</P>","")
strInput=replace(trim(strInput),"<P>","")
strInput=replace(trim(strInput),"</P>","")
strInput=replace(trim(strInput),"&nbsp;","")
strInput=replace(trim(strInput)," ","")
strInput=replace(trim(strInput),"<BR>","")
NoHtmlEditor = strInput
End Function

if len(NoHtmlEditor(request("sTesto")))=0 then
 'vuota
else
'piena
end if



Sembra funzionare eggreggiamente, perche nel caso non scriva nulla, ma mi limito soltanto ad dare degli invii, spazi vuoti le textarea contiene uno o tutti i caratteri contenuti nella funzione, mentre se nel mezzo di invii, spazi etc... scrivo anche una sola lettera la lunghezza della stringa ritorna 1.

Ritorniamo alla possibilità di avvisare l'utente di compilare la textarea. Non ci riesco, perchè al primo submit mi ritorna una stringa vuota, mentre al secondo submit mi ritorna il contenuto precedentemente scritto.

Che succede???

Carmen
277 messaggi dal 13 giugno 2001
Stovo penzando, se non si riesce in javascript, potrei fare la stessa cosa in ajax senza ricaricare la pagina.

Sfruttanto il codice asp sopra, se la textarea ritorna lunghezza=0 avvisare l'utente di compilare il campo richiesto.

Però non sò come fare.
Modificato da Carmen il 26 giugno 2010 13.27 -

Carmen
4 messaggi dal 03 aprile 2006
Non so se e' la soluzione adeguata, ma io farei cosi':
nella textarea come testo predefinito inserirei del testo, poi dopo la submit controllerei il testo se e' uguale al testo predefinito lo considero vuoto.

Quindi avverto l'utente che deve obbligatoriamente riempire il box.

Penso possa andare cosi'.
Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.