Limiter taille dans un formulaire
Résolu
justins
-
justins -
justins -
A voir également:
- Limiter taille dans un formulaire
- Whatsapp formulaire opposition - Guide
- Comment réduire la taille d'un fichier - Guide
- Formulaire de réclamation facebook - Guide
- Reduire taille image - Guide
- Formulaire de reclamation instagram - Guide
6 réponses
Tu souhaite le tester en cours de frappe ou après la frappe?
Déjà pour limiter le nombre de caractère maximum, tu peux mettre:
<input type="text" name="mois" size="4" maxlength="4" value=""/>
Comme ça ton input fait 4 caractères de large (size="4") et on ne peut taper plus de 4 caractères (maxlength="4")
Ensuite pour tester en direct le nombre de caractère il faut passer par javascript:
ce code est à placer entre les balises HEAD de ta page (il teste pour 4 caractères, si tu veux tester les deux champs, dis le moi et je modifierais)
ensuite dans ton PHP, ton input:
<input type="text" name="mois" size="4" maxlength="4" value="" onkeypress="test_input(this.value)" onkeyup="test_input(this.value)" /><span id="zone_avert"></span>
@+
Déjà pour limiter le nombre de caractère maximum, tu peux mettre:
<input type="text" name="mois" size="4" maxlength="4" value=""/>
Comme ça ton input fait 4 caractères de large (size="4") et on ne peut taper plus de 4 caractères (maxlength="4")
Ensuite pour tester en direct le nombre de caractère il faut passer par javascript:
ce code est à placer entre les balises HEAD de ta page (il teste pour 4 caractères, si tu veux tester les deux champs, dis le moi et je modifierais)
<script language="javascript" type="text/javascript"> <!-- function test_input(nombre){ avertissement = document.getElementById("zone_avert"); avertissement.innerHTML = ""; if (nombre.length<4){ avertissement.innerHTML = "Vous devez entrer 4 caractères"; } } --> </script>
ensuite dans ton PHP, ton input:
<input type="text" name="mois" size="4" maxlength="4" value="" onkeypress="test_input(this.value)" onkeyup="test_input(this.value)" /><span id="zone_avert"></span>
@+
Hello,
Essaie avec l'option maxlength (non testé, je viens de trouver ca sur Google)
<form method="post" enctype="multipart/form-data">
<p> mois : </p> <input type="text" name="mois" maxlength="2" value=""/>
<p> annee </p> <input type="text" name="annee" maxlength="4" value=""/>
</form>
L'option size definit la longueur du champ input ;)
EDIT : Ah, pas assez rapide pour répondre ^^
Essaie avec l'option maxlength (non testé, je viens de trouver ca sur Google)
<form method="post" enctype="multipart/form-data">
<p> mois : </p> <input type="text" name="mois" maxlength="2" value=""/>
<p> annee </p> <input type="text" name="annee" maxlength="4" value=""/>
</form>
L'option size definit la longueur du champ input ;)
EDIT : Ah, pas assez rapide pour répondre ^^
Si seulement j'avais accès à internet, j'ai accès qu'à un nombre minime de sites dont comment ça marche. =)
<script language="javascript" type="text/javascript">
<!--
function test_input(nombre){
avertissement = document.getElementById("zone_avert");
avertissement.innerHTML = "";
if (nombre.length<2){
avertissement.innerHTML = "Vous devez entrer 2 caractères";
}
}
-->
</script>
<p> mois : </p> <input type="text" name="mois" size="2" value="" onkeypress="test_input(this.value)" onkeyup="test_input(this.value)" /><span id="zone_avert"></span>
Si j'ai bien compris pour le second ce sera ainsi?
Sinon niveau explication du code, tu as en fait créé une fonction qui va lancer une fenetre d'erreur si la longueur n'est pas celle attendue. Par contre je sais qu'onkeypress verifie les touche pressée mais cela signifie que la verification se fera à chaque fois ou losque j'enverrais le formulaire?
Si ce n'est pas la seconde en mettant un isset ($_post(envoye) qui appelera la fonction de test ça le fera qu'une fois le form envoyé non?
Merci pour votre précieuse aide!
<script language="javascript" type="text/javascript">
<!--
function test_input(nombre){
avertissement = document.getElementById("zone_avert");
avertissement.innerHTML = "";
if (nombre.length<2){
avertissement.innerHTML = "Vous devez entrer 2 caractères";
}
}
-->
</script>
<p> mois : </p> <input type="text" name="mois" size="2" value="" onkeypress="test_input(this.value)" onkeyup="test_input(this.value)" /><span id="zone_avert"></span>
Si j'ai bien compris pour le second ce sera ainsi?
Sinon niveau explication du code, tu as en fait créé une fonction qui va lancer une fenetre d'erreur si la longueur n'est pas celle attendue. Par contre je sais qu'onkeypress verifie les touche pressée mais cela signifie que la verification se fera à chaque fois ou losque j'enverrais le formulaire?
Si ce n'est pas la seconde en mettant un isset ($_post(envoye) qui appelera la fonction de test ça le fera qu'une fois le form envoyé non?
Merci pour votre précieuse aide!
N'oublie pas le maxlength="2", pour être sur que la longueur soit de 2, ni plus ni moins ;)
Par contre, je pense que ca risque de devenir tres lourd, un message d'erreur a chaque saisie de touche.
J'aurais plutot fait :
<script language="javascript" type="text/javascript">
<!--
function test_input(nombre){
avertissement = document.getElementById("zone_avert");
avertissement.innerHTML = "";
if (nombre.length<4){
avertissement.innerHTML = "Vous devez entrer 4 caractères";
return false;
}else{
return true;
}
}
-->
</script>
<form method="post" enctype="multipart/form-data" onSubmit=test_input(this.value); >
<p> mois : </p> <input type="text" name="mois" maxlength="2" value=""/>
<p> annee </p> <input type="text" name="annee" maxlength="4" value=""/>
</form>
Par contre, je pense que ca risque de devenir tres lourd, un message d'erreur a chaque saisie de touche.
J'aurais plutot fait :
<script language="javascript" type="text/javascript">
<!--
function test_input(nombre){
avertissement = document.getElementById("zone_avert");
avertissement.innerHTML = "";
if (nombre.length<4){
avertissement.innerHTML = "Vous devez entrer 4 caractères";
return false;
}else{
return true;
}
}
-->
</script>
<form method="post" enctype="multipart/form-data" onSubmit=test_input(this.value); >
<p> mois : </p> <input type="text" name="mois" maxlength="2" value=""/>
<p> annee </p> <input type="text" name="annee" maxlength="4" value=""/>
</form>
ta fonction ne peut pas marcher... Tu lui demandes de tester la longueur de la valeur du formulaire...
<form method="post" enctype="multipart/form-data" onSubmit=test_input(this.value); >
Le mot-clef "this" prends en compte la "balise" dans laquelle il est, donc form dans ce cas.
Avec ma fonction, le message d'erreur s'affichera dans le span a côté du input dès que la personne tape un caractère et ce jusqu'à ce qu'il en ai tapé 4. Elle est facilement modifiable pour que ça marche avec le input à 2 caractères.
<form method="post" enctype="multipart/form-data" onSubmit=test_input(this.value); >
Le mot-clef "this" prends en compte la "balise" dans laquelle il est, donc form dans ce cas.
Avec ma fonction, le message d'erreur s'affichera dans le span a côté du input dès que la personne tape un caractère et ce jusqu'à ce qu'il en ai tapé 4. Elle est facilement modifiable pour que ça marche avec le input à 2 caractères.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question