5568 sujets

Sémantique web et HTML

Bonjour a tous,

merci de me lire


je suis en train de creer un formulaire sous php.mais je rencontre un probleme.
le formulaire que j'ai cree ne reagit pas kan on clique sur le bouton valider car j 'ai mis 2 balises forms imbriques:


<form name=form1> 
contenu1 
       <form name=2> 
                 contenu2 
         </form> 
</form> 




j'ai lu quelques part que c'etait impossible.mais ce que je voudrais savoir c'est comment envoyer mon formulaire par javascript,ce qui me permettrait de supprimer la premiere balise FORM.

Merci d'avance Smiley sweatdrop


Configuration: Windows XP / google chrome
Modifié par koopafx (18 Jun 2010 - 13:04)
Bonjour,

Je ne vois pas trop le rapport entre JS et la suppression du premier form.

Imbriquer 2 form est de toute façon par standard.

Pour le JS il suffit de l'appliquer au clic sur le bouton de validation (sans oublier qu'un formulaire se traite TOUJOURS avec un langage côté serveur, si on ne veut pas avoir de gros ennuis) ou à la modification d'un champs, ou tout ce que tu veux.
j'utilise un code ajax qui me permet d'ajouter de nouvelles donnees dans mon formulaire et qui permet d'autocompleter un petit formulaire.
je m explique:
supposons que je dois saisir les informations sur des articles.la page propose un formulaire avec l'article principal et les articles secondaires.Ainsi,il ya un bouton ajouter article (a l'aide du code ajax) qui permet de remplir les articles secondaires depuis un autre petit formulaire . (taper ajax autocompletion sur google)
voila pourquoi j'ai 2 formulaires.
le bouton envoyer ne réagit pas a cause des 2 balises form imbriquées.je me disais que peut etre qu'il ya une autre solution....


je n'ai pas bien compris ta methode .mon probleme c'est que si je supprime la balise form du petit formulaire je ne pourrais pas afficher les ajouts des articles secondaires.
voici l'exemple du 2eme formulaire qui se trouve dans mon formulaire principale...
http://jqueryui.com/demos/dialog/#modal-form (tu clique sur create new user pour voir la fenetre) .(si tu ajoute la bas un client ,tu verras ce que tu as entre dans un tableau.)
Modifié par koopafx (18 Jun 2010 - 14:09)
j'utilise php pour le traitement du formulaire sur le serveur,le probleme c'est que j'arrive pas a envoyer ces donnees vu que le bouton envoyer ne repond pas à cause des 2 balises form imbriqueees !!!
Bonjour,

Quand on te dit que ce n'est pas correct, c'est pour une raison. On ne peut imbriquer deux balises form. Comment veut-tu que le bouton de validation sache quel formulaire il doit valider ?

Ta seule solution est de refaire proprement tes formulaires.
Cela dit, même s'il y a pas de formulaires imbriqués, si tu as plusieurs boutons de validation (éléments input de type "submit" ou "image" ou éléments button de type "submit"), il est judicieux de les munir d'un attribut id (pour les sélectionner plus rapidement dans le DOM, côté JavaScript) et d'un attribut name (pour savoir, côté PHP, quel bouton a été utilisé et affiner le traitement côté serveur).

Code HTML
<form method="post" action="url-de-traitement">
  <!-- Ici ton contenu 1 -->
  <p><input id="soumission-1" name="soumission_1" type="submit" value="Ton premier bouton de validation" /></p>
  <!-- Ici ton contenu 2 -->
  <p><input id="soumission-2" name="soumission_2" type="submit" value="Ton deuxième bouton de validation" /></p>
</form>

Code PHP
if (isset ($_POST['soumission_1']))
{
  // Traitement correspondant au cas où l'on clique sur le premier bouton de validation
}
else if (isset ($_POST['soumission_2']))
{
  // Traitement correspondant au cas où l'on clique sur le deuxième bouton de validation
}
dabord merci beaucoup pour votre aide Smiley smile (laurie-anne et Victor BRITO)

je vais essayer la solution des ID et name sur input...pour voir
si ça ne marche pas ,je vais revoir l'ergonomie de ma page.
le test risque de me prendre un peu de temps .je reviendrais pour dire si oui ou non ça a marche... Smiley smile
Modifié par koopafx (22 Jun 2010 - 12:38)
Salut,

Tu peux également très bien mettre ton bouton appelant la pop-up dans ton premier formulaire et mettre le div qui contient le contenu de ta pop-up (2ème formulaire si j'ai bien compris) après ton formulaire.
salut on dirait que ca marche.
mon probleme c'etait un contrôle ajax qu'on avait mis sur le formulaire pour forcer l entree de donnees sur ces champs(comme sur les formulaires de création de mails:exemple le message mail valide ou invalide pour avertir l'utilisateur sans qu'il recharge la page).je sais pas comment ca se fait mais j arrive a envoyer les donnees avec 2 forms sous chrome.je vais tester pour les autres navigateurs.Merci a tous.... Smiley biggrin
si j'ai d'autres nouveautes je les posterai .....

edit:
je pense que c'est quand il ya 2 submit que les 2 balises ne fonctionne pas ....
moi j avais qu'un seul submit ,le 2 eme formulaire etait validé du cote ajaxt je crois...
Modifié par koopafx (02 Jul 2010 - 17:41)