Eviter un passage à la ligne avec les balises <form></form>

Résolu
janmar Messages postés 148 Date d'inscription   Statut Membre Dernière intervention   -  
Goelano Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je crée en PHP une page qui comprend plusieurs options de réponse, et je me sers pour cela des balises <form> :
<form method = "post" action = "../Admin/adresses.php">
<input type = "submit" value = "mail aux membres " />
<form method = "post" action = "../Admin/mail aux organisateurs.php">
<input class = "align" type = "submit" value = "mail aux organisateurs " />
</form>

Ecrit tel quel, la présentation est comme je le souhaite, les deux champs de saisie étant à la suite l'un de l'autre.

Par contre, le bouton submit n'agit que sur le premier action.

Le script qui marche bien est :
<form method = "post" action = "../Admin/adresses.php">
<input type = "submit" value = "mail aux membres " /></form>
<form method = "post" action = "../Admin/mail aux organisateurs.php">
<input class = "align" type = "submit" value = "mail aux organisateurs " />
</form>

Malheureusement, </form> provoque un saut de ligne.

Quelqu'un a-t-il une idée pour éviter ce saut de ligne.

Merci pour vos suggestions.
A voir également:

3 réponses

js95 Messages postés 773 Date d'inscription   Statut Membre Dernière intervention   354
 
C'est une question de CSS. <form> est une balise de type block.
Si tu as une feuille de style attachée à ta page, ajoute dedans:
form {
   display: inline-block;
}

et le tour est joué.
Sinon ajoute l'attribue
style="display: inline-block;"
dans tes balises <form>.
<form style="display: inline-block;" > ... </form>

La précision est le fruit de la réussite.
4
janmar Messages postés 148 Date d'inscription   Statut Membre Dernière intervention   3
 
Bonjour JS95,

Je pensais en avoir fini avec ces satanées balises, mais ça ne marche toujours pas :

Je souhaite disposer sur une même ligne DEUX input, qui n'ont pas la même action, puis sur la ligne suivante encore deux input.

Lorsque je fais un code comme ceci :

<form method = "post" action = "../Admin/adressesmembres.php" />
	<input type = "submit" value = "mail aux membres" />
	
<form method = "post" action = "../Admin/listedesmembres.php"/>
	<input  type = "submit"  class = "align4" value = "liste membres" />
	<br>
	
<form method = "post" action = "../Admin/adressesbenevoles.php" />
	<input type = "submit" value = "mail aux benevoles" />
	
<form method = "post" action = "../Admin/listebenevoles.php" />
	<input type = "submit"  class = "align4" value = "liste benevoles" />
	</form><br>


la disposition est bonne, mais tous les input font la même action (la première).

Si je fais un code comme celui-là :

<form method = "post" action = "../Admin/adressesmembres.php" >
	<input type = "submit" value = "mail aux membres" />
</form>
	
<form method = "post" action = "../Admin/listedesmembres.php">
	<input  type = "submit"  class = "align4" value = "liste membres" />
</form>
<br>
<form method = "post" action = "../Admin/adressesbenevoles.php" >
	<input type = "submit" value = "mail aux benevoles" />
</form>
	
<form method = "post" action = "../Admin/listebenevoles.php" >
	<input type = "submit"  class = "align4" value = "liste benevoles" />
</form>
<br>


Les input font bien leur travail (chacun leur action), mais j'obtiens systématiquement un retour à la ligne, on dirait même une 1/2 ligne !...

J'ai essayé de mettre mes input entre des balises <p></p>, j'ai bien sûr un saut de ligne supplémentaire.

J'ai essayé les deux solutions préconisées, la première dans le CSS avec form{....}, la seconde directement dans les balises <form> rien à faire

Bien entendu, je n'ai pas de saut de ligne dans le CSS.

La solution radicale serait d'accepter les sauts de ligne, mais ça aurait comme conséquence que je n'aurai pas compris le pourquoi du comment, et en plus, ce serait moche.

Pour la beauté du formulaire, si quelqu'un peut se pencher sur le problème, je l'en remercie d'avance.
0
janmar Messages postés 148 Date d'inscription   Statut Membre Dernière intervention   3
 
Merci.
C'est tout à fait ça.
0
js95 Messages postés 773 Date d'inscription   Statut Membre Dernière intervention   354
 
C'est le dernier code que tu as écrit que tu dois utiliser, les <input> doivent être dans le innerHTML de la balise <form>, après si le CSS est correctement lié à la page HTML, il n'y a aucune raison que ça ne fonctionne pas, à moins d'utiliser un très mauvais navigateur internet...
0
janmar Messages postés 148 Date d'inscription   Statut Membre Dernière intervention   3
 
merci de ces précisions.
J'ai encore quelques tests à faire, mais cela proviendrait peut-être de ma fenêtre qui n'est pas tout à fait grande.
Je considère la question résolue.
Merci.
0
Goelano Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   21
 
Merci pour ces conseils ! J'avais le même problème. Voici mon code avant :
<FORM ACTION="toto.php" METHOD=post NAME=toto>
<INPUT etc etc ...>
</FORM>

et j'avais un saut de ligne en fin de formulaire !

Voici mon code maintenant :
<FORM ACTION="toto.php" METHOD=post STYLE="display:inline;" NAME=toto>
<INPUT etc etc ...>
</FORM>

et je n'ai plus de saut de ligne ! Super !
0