Formulaire redirection avec bouton et Entrée

Résolu/Fermé
lecab Messages postés 16 Date d'inscription lundi 29 janvier 2007 Statut Membre Dernière intervention 4 novembre 2018 - 18 févr. 2010 à 09:43
lecab Messages postés 16 Date d'inscription lundi 29 janvier 2007 Statut Membre Dernière intervention 4 novembre 2018 - 18 févr. 2010 à 15:01
Bonjour,

Pour contrôler l'accès à un répertoire du site où sont placés des documents à télécharger, j'ai créé le formulaire ci-dessous qui demande un "mot de passe". Les utilisateurs invités à télécharger ces documents reçoivent ce mot de passe.

Ce mot de passe est simplement un nom de répertoire et en cliquant sur le bouton "Accéder" chacun ouvre le répertoire qui lui est dédié pour récupérer les documents qui lui sont destinés. Dans le code, il est placé dans la variable "kyvala".

<form id="form" method="post" action="" name="formulaire" >
	<input type="text" name="kyvala" value="mot de passe" onfocus="this.oldvalue=this.value;this.value='';" onblur="if (this.value=='') this.value=this.oldvalue;">
	<input type="button" name="Bouton" value="Accéder" onClick="var OuAller='./zone_perso/'+document.formulaire.kyvala.value + '/'; document.location=OuAller" >
</form>


Le problème est que des utilisateurs cliquent sur la touche Entrée du clavier plutôt que sur le bouton "Accéder" ce qui leur vaut une erreur 405 et "ça ne marche pas ..."

J'ai donc modifié la balise form comme suit :

<form id="form" method="get" action="" name="formulaire" onSubmit="var OuAller='./zone_perso/'+document.formulaire.kyvala.value + '/'; document.location=OuAller">


Je n'ai plus d'erreur 405 en cliquant sur Entrée mais ça me recharge simplement la page sans rediriger vers l'URL correspondante alors que la variable "kyvala" est affichée correctement.

Comment faire pour que la redirection fonctionne avec le bouton et avec le clavier ?

Merci pour votre aide.

1 réponse

Ozimandias Messages postés 505 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 10 mars 2010 46
18 févr. 2010 à 10:13
dans ta deuxième solution, le formulaire est envoyé et donc ta redirection document.location ne peut fonctionner. essaye avec ça, ça devrai empécher le formulaire d'être validé :

onSubmit="var OuAller='./zone_perso/'+document.formulaire.kyvala.value + '/'; document.location=OuAller; return false;">
1
lecab Messages postés 16 Date d'inscription lundi 29 janvier 2007 Statut Membre Dernière intervention 4 novembre 2018
18 févr. 2010 à 15:01
C'est bien ça !

Merci beaucoup.
0