Bonjour,

J'ai un ptit soucis au niveau d'un formulaire.
alors je m'explique

j'ai un lien qui est une balise <a> qui me renvoi dans une page,
or lors du clic j 'aimerai envoyer des informations .
Pour cela j'ai décidé de passer par un formulaire avec un input de type hidden
or j'aimerai également gardé ma balise a et je ne sais pa si cela est possible de validé le formulaire par la balise <a>

merci
Modifié par pinouf (04 Jun 2007 - 16:13)
pinouf a écrit :
or j'aimerai également gardé ma balise a et je ne sais pa si cela est possible de validé le formulaire par la balise <a>

De manière pleinement accessible, non. Sinon, c'est possible en Javascript.

Pour envoyer des informations avec un lien, on les passera en général en paramètres de l'URL :
http://www.example.com/blabla/script.php?param1=lorem&param2=ipsum
Mais si c'est pour effectuer un traitement de l'information, et notamment l'insertion en base de données de l'information, un formulaire sera bien plus indiqué.

Il faudra par contre, toujours si on veut être accessible, composer avec les éléments pour les formulaires. Notamment, servent à l'envoi des données :
- <input type="submit" value="Envoyer">
- <input type="image" alt="Envoyer" src="...">
- <button type="submit" value="Envoyer">

BUTTON sera plus stylable que INPUT, il me semble.
http://www.la-grange.net/w3c/html4.01/interact/forms.html#edef-BUTTON
Salut,

je dirais c'est possible avec du javascript.

<a href="javascript:document.monformulaire.submit();" > laalalalalal </a>

mais pas trés joli au niveau accessibilité.

y a peut être d'autre possibilité.
Tout d'abord merci CPascal et Florent V de m'avoir répondu .

Dans un premier temps j'ai opté pour la méthode avec le <a href="javascript:document.monformulaire.submit();" > laalalalalal </a>

cela valide bien le formulaire cependant je n'arrive pas à récupere des données que j'avais mis dans un formulaire de type hidden

comme cela ne marchais pas j'ai opté par l'autre méthode qui est de passé les parametres avec le lien ..
mais bon on voit les parametres sur liens ce qui n'est pas super top
Modifié par pinouf (05 Jun 2007 - 14:45)
pinouf a écrit :
Dans un premier tant j'ai opté pour la méthode avec le <a href="javascript:document.monformulaire.submit();" > laalalalalal </a>

Mauvaise pioche. Smiley decu

Et avec button ?
justement je ne veux pas utilisé de bouton ^^

je voulais que la balise <a> valide le formulaire !
mais bon la question ne se pose plus car cela marche
merci^^
Administrateur
pinouf a écrit :
justement je ne veux pas utilisé de bouton ^^

Pourquoi pas ? C'est justement sa fonction.

S'il s'agit d'une question d'aspect, n'oublie pas que les CSS peuvent le modifier comme tu le souhaiterais.
Modifié par Raphael (05 Jun 2007 - 14:54)
pinouf a écrit :
justement comment peux t-on faire cela raphael?
pour enlevé laspect bouton


Un test :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<title></title>
	<style type="text/css">
		button {
			width: auto;
			padding: 0;
			margin: 0;
			border: none;
			background: white;
			color: blue;
			text-decoration: underline;
			border-bottom: solid 1px green;
		}
		button:hover {
			color: red;
			cursor: pointer;
		}
	</style>
</head>

<body>

<form action="http://www.example.com/form" method="post">
	<p>Ceci est un test avec du texte simple.</p>
	<p><button>Ceci est un test de bouton</button></p>
</form>

</body>
</html>

Le résultat est assez aléatoire d'un navigateur à l'autre, hélas.

Il faudra donc probablement se rabattre vers un lien avec fonction JS au clic. Dans ce cas, deux solutions pour rendre ça accessible :
- l'URL du lien (attribut href) pointe vers un script à qui on passe, en paramètres de l'URL, les informations à traiter (dans cette configuration, on gèrera les moteurs de recherche en interdisant l'indexation du script en question via un fichier robots.txt, par exemple) ;
- ou bien on fournit également un bouton de formulaire (input ou button) en bonne et due forme, quitte à le remplacer par le bouton JS si JS est activé.

Dans les deux cas, on veillera à ce que le lien soit utilisable au clavier.


Sinon, pour ma part, je vote pour la première solution.
Modifié par Florent V. (06 Jun 2007 - 11:57)