- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- Negare l'inserimento di alcune parole
-
Così va:
<script> //Creo array che conterrà le parole da censurare e di seguito lo riempio var bannazione = new Array(); bannazione[0] = 'xke'; bannazione[1] = 'xrò'; bannazione[2] = 'azz'; var sostituzione = new Array(); sostituzione[0] = 'perchè'; sostituzione[1] = 'però'; sostituzione[2] = 'caspita'; var censurate = ""; var sostituisci = true;//Se a true, sostituisce, se a false, cancella //Inizializzo la funzione che contollerà ciò che gli viene passato function controllo_bannazione(testo) { censurate = ""; //Ciclo per ogni elemento del'array, controllando se è presente nella stringa passata for(i=0;i<bannazione.length;i++) { //controllo se è presente ogni elemento if(testo.indexOf(bannazione*) != -1) { if(sostituisci == true) { if(sostituzione*.length == 0) { asterischi = "*"; for(u=0;u<bannazione*.length-2;u++) { asterischi += asterischi; } } else { asterischi = sostituzione*; } } else { asterischi = ""; } censurate += bannazione*+"\r\n"; testo = testo.replace(eval("/"+bannazione*+"/g"),asterischi); } } if(censurate != "") { //Esegui tutto ciò che ti serve qui dentro... //Ad esempio qui fa la lista delle parole trovate e stampa il testo con gli asterischi al posto delle parole... //Io manterrei gli asterischi per non rendere incomprensibile il testo //Qui sappi che hai 2 variabili in arrivo: testo e censurate, usale con sapienza ;-) alert("Le seguenti parole non sono ammesse:\r\n\r\n"+censurate); document.getElementById('testo_rec').value = testo; //alert(testo); } document.getElementById('moduloGuest').submit(); } </script> <form name="moduloGuest" id="moduloGuest" method="post" action=""> <table> <tr> <td><strong> Indica cortesemente il tuo nome </strong></td> <td><input type="text" name="nome_utente" id="nome_utente" size="30" maxlength="40" value=""></td> </tr> <tr> <td valign="top"><strong>Scrivi la tua opinione</strong></td><td><textarea name="testo_rec" id="testo_rec" cols="70" rows="17"></textarea></td> </tr> <tr> <td align="center" colspan="2"><input type="button" onClick="controllo_bannazione(document.getElementById('testo_rec').value)" value="Invia il messaggio!"></td> </tr> </table> </form>
-
Ciao Daigor,
ho fatto una prova, funziona tutto, sei stato gentilissimo.
Mi puoi dare una tua ulteriore opinione? Ho visto che c'e' anche la funziona reg_exp, ma potrei inserirla all'interno delle tue istruzioni oppure no?serve?
Grazie mille
-
B'è, se il tuo problema sono semplici parole, non credo serva a tanto, ma se, ad esempio, vuoi controllare se l'indirizzo email è scritto bene, allora può essere utile!
-
No no, il mio problema sono solo semplici parole, la mia domanda era semplice curiosità, ne ho approfittato solo perchè credo tu sia molto esperto in materia.
Ho fatto una form come esempio per capire bene le tue istruzioni, e stasera applico le tue istruzioni alla form vera e propria e poi ti faccio sapere se è andato tutto bene.
Ho notato una cosa, quando segnala che sono state sostituite delle parole, nel momento che do OK parte il submit e l'inserimento dei record va a buon fine. Secondo la tua esperienza, conviene fare cosi, o conviene che quando c'e' la segnalazione a video l'utente da l'OK, vede le parole modificate, magari con gli asterischi, dando la possibilità di cambiare le parole?
Grazie mille
-
B'è, credo che sia meglio lasciargli vedere il testo asteriscato o modificato, poi quando non c'è niente da correggere, inviare!
-
Ok grazie,
ti faccio sapere quando ho configurato il tutto.
Buona serata
-
Daigor, ho inserito le tue istruzioni nella mia form originale, funziona tutto perfettamente, grazie mille di cuore.
-
Benissimo!!!
Alla prossima!
-
Ciao daigor,
ho notato un problema. Prima di inserire tutte le tue istruzioni, nella form avevo un'altro controllo in javascript che veniva attivato tramite questa istruzione:<form name="moduloGuest" id="moduloGuest" onSubmit="return controllo();" ETC ETC
infatti funzionava perchè alla fine della form avevo:
<input type="submit" ETC ETC
Ora, cambiando quest'ultima istruzione con:
<input type="button"
non ho più l'aggancio corretto, come posso fare?
grazie
-
Daigor in pratica avevo altre istruzioni javascript che mi andavano a fare un controllo sui vari campi per vedere se erano compilati, ti riporto un esempio:
<script language="JavaScript">
function controllo(){
with(document.moduloGuest) {
if(nome_utente.value=="") {
alert("Inserisci cortesemente il tuo nome.");
nome_utente.className="bred";
nome_utente.focus();
return false;
}
}
return true;
}
</script>Dove in class bred nel file CSS c'e':
.bred{
background-color:#FF0000;
}Come posso fare per far convivere tutte e due le istruzioni di javascript?
Grazie