ciao
un, per me, mistero di wysiwyg.
ho impostato wysiwyg in una pagina di prova per il campo messaggi di un form invio email, e, come usualmete,
ho inserito la verifica che il campo venga compilato.
dopo varie prove mi sono accorto che il campo vuoto non trasmette un vuoto o null ma una stringa,
utilizzando vari sistemi risulta che la stringa è <br>, mentre se si scrive qualcosa tale stringa sparisce
e rimane solo quello che si è scritto
sempre dalle prove ho "scoperto" che la stringa trasmessa con campo vuoto è lunga 4.
per cui ho messo la verifica non su stringa vuota, ma su lunghezza stinga < 5.
e qui comincia il mistero.
chiamo il form
nel campo scrivo abracadabra (lunghezza > 5)
dò invio
appare, erroneamente, l'alert "il campo deve essere compilato"
clicco ok sull'alert
dò di nuovo invio
il testo viene accettato, però con un altro mistero
se prima del secondo invio cancello il testo scritto nel campo avviene lo stesso l'invio anche se in questo caso
sarebbe giusto che apparisse l'alert
questo è il form+script
qualcuno sa dirmi l'errore? e come modificare?
un, per me, mistero di wysiwyg.
ho impostato wysiwyg in una pagina di prova per il campo messaggi di un form invio email, e, come usualmete,
ho inserito la verifica che il campo venga compilato.
dopo varie prove mi sono accorto che il campo vuoto non trasmette un vuoto o null ma una stringa,
utilizzando vari sistemi risulta che la stringa è <br>, mentre se si scrive qualcosa tale stringa sparisce
e rimane solo quello che si è scritto
sempre dalle prove ho "scoperto" che la stringa trasmessa con campo vuoto è lunga 4.
per cui ho messo la verifica non su stringa vuota, ma su lunghezza stinga < 5.
e qui comincia il mistero.
chiamo il form
nel campo scrivo abracadabra (lunghezza > 5)
dò invio
appare, erroneamente, l'alert "il campo deve essere compilato"
clicco ok sull'alert
dò di nuovo invio
il testo viene accettato, però con un altro mistero
se prima del secondo invio cancello il testo scritto nel campo avviene lo stesso l'invio anche se in questo caso
sarebbe giusto che apparisse l'alert
questo è il form+script
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento senza titolo</title>
<style type="text/css">
<!--
body {
background-color: #CCCCCC;
}
-->
</style>
<script type="text/javascript" src="scripts/wysiwyg.js"></script>
<script type="text/javascript" src="scripts/wysiwyg-settings.js"></script>
<script type="text/javascript">
<!--
WYSIWYG.attach('textarea2', small); // full featured setup
//in wysiwng-setting var small modificato
// small.Width small.Height e
// in small.Toolbar[0] aggiunto "unorderedlist","orderedlist"
//-->
</script>
<script type="text/javascript">
<!--
function ControllaForm()
{//su altri campi di input normali funzia bene!!!
var controllo=false;
var testo=this.document.form.test2.value;//senza this funzia peggio ????
if (testo.length < 5 )
{
controllo=true;
alert("Attenzione: Il campo TESTO non può essere vuoto.");
}
if (controllo){return false}else{return true}
}
//-->
</script>
</head>
<body>
<?php
if(isset($_POST['invia'])){
$testo=$_POST['test2'];
echo strlen($testo)." <br>";//se campo vuoto = 4
//echo chr($testo[0]." - ".chr($testo[1]." - ".chr($testo[2]." - ".chr($testo[3];
// output 60 - 98 - 114 - 92 = <br> ?????
$testo=stripslashes($_POST['test2']);//wis mette le slash
//se testo in db non metter stipslashes
echo nl2br($testo)." <br>";//stampa
}
?>
<form action="provaPerForm.php" method="post" name="form" id="form" OnSubmit="return ControllaForm(this)">
<textarea id="textarea2" name="test2"></textarea>
<br>
<input name="invia" type="submit" id="invia" value="invia">
</form>
</body>
</html>
qualcuno sa dirmi l'errore? e come modificare?