psyckan
Messages postés135Date d'inscriptionvendredi 27 août 2004StatutMembreDernière intervention 8 mai 2010
-
1 mai 2009 à 13:06
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 2015
-
7 mai 2009 à 10:37
Bonjour,
Je voudrais simplement savoir comment vérifier qu'un champ est bien de la forme Vxxx ou x est un chiffre
J'ai déjà réussi a repérer le 'v' au debut comme ceci :
var v = vref.indexOf("v");
if(v < 1){
form.submit();
et ça à l'air de fonctionner, mais je ne sais pas trop comment faire pour les trois chiffre.
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 1 mai 2009 à 13:54
Bonjour,
ah??? et... c'est quoi vref ?
ça arrive souvent ce "genre" de question....
généralement, c'est parce que les name générés ( par le langage serveur )
le sont de cette manière !
il "suffit"
de mettre le même name, et coté client on
peut utiliser name_généré[index]
sinon getElementByName("v"+valeur sur 3 caractères), mais,
à mon avis ( qui ne vaut pas grand chose ), vaut mieux à éviter
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 1 mai 2009 à 14:44
ah... plus rien à voir me semble-til ou j'avais mal compris !
bon déjà, évite le form.submit() !
form est un nom qui ressemble à ce que connait le html/javascript,
un jour ou l'autre ça te jouera des tours !
tu ne respectes pas les règles de base de soumisson d'un formulaire,
ça aussi ça te jouera des tours !
<form name= "toto" action"où envoyer"
onsubmit="return(checkform);"... :>
.... tes champs ....
et sans onclick !!!!!
</form>
la fonction retourne true et le formulaire est transmis,
false, et il ne l'est pas.
pour tes contrôles, tu peux utiliser :
substr ( ou substring ) pour découper le champ ( selfHTML pour la doc ? )
ou d'autres choses
isNaN pour tester si e n'est pas numérique ( toujours par exemple =
...
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 1 mai 2009 à 15:26
car, par exemple :
document.email avec ( juste devant) email = subscription.email.value;
ça m'étonnerait que ça baigne
de plus ta fonction doit être appelée avec un paramètre
function checkform(subscription) et quand tu l'appelles
ben... y'a pas de paramètres ! onsubmit='return(checkform);
peut-être onsubmit="return(checkform(this.form));"
ou pas de paramètres et dans ce cas, il faut donner le formulaire
document.subscription ou document.getElementById("subscription")
psyckan
Messages postés135Date d'inscriptionvendredi 27 août 2004StatutMembreDernière intervention 8 mai 2010 6 mai 2009 à 16:43
L'appel du formulaire marche bien a par un problème :
Le premier test est passé sans problème même si je ne remplit pas le formulaire et je ne comprend pas pourquoi
function checkform(subscription) {
email = subscription.email.value;
vref = subscription.vref.value;
passwd = subscription.upassword.value;
firstname = subscription.firstname.value;
lastname = subscription.lastname.value;
if ((document.firstname "") || (document.lastname "") || (document.email == "") || (document.passwd == "") || (document.vref == ""))
{
alert('Please fill the whole form in');
return(false);
}
else
{ .......
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 7 mai 2009 à 10:37
je répète :
ta fonction checkform(subscription) attend un paramètre
que tu ne donne pas à l'appel onsubmit='return(checkform);'
tel que tu fais d'ailleurs, tu n'appelles pas une fonction.
soit tu fais onsubmit='return(checkform(this.form));'
soit onsubmit='return(checkform());' et dans ta fonction tu utilises if ( document.subscription.firstname.value "" || document.subscription.lasttname.value "" || ...
si les name sont ok <form name="subscription" ... >