Formulaire imbriqué

Résolu
JB_A Messages postés 301 Date d'inscription   Statut Membre Dernière intervention   -  
JB_A Messages postés 301 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai une page dans laquelle, j'ai en haut de page un formulaire avec différents champs, et en dessous de ces champs, j'ouvre un deuxième formulaire que je soumets avec un lien onClick. Cela ressemble visuellement à cela


                                                Mon problème
Champ 1
Champ 2
Champ 3
...
--------------------------------------------------------------------------------
                                               Liste des incidents liés

Champ 1                            <lien Ajouter à la liste>


                                            <bouton soumettre>


Mon soucis est qu'il ne veut pas
1) Vérifier mon deuxième formulaire (liste des incidents)
2) m'envoyer mon deuxième formulaire si tout est bon

Savez-vous comment je pourrais faire pour que cela marche en sachant que le bouton soumettre doit forcément être en bas de la page.

Mon code est le suivant :
<div align="center">Mon problème</div>
<form method="post" name="ticket" action="/mapagedenregistrementprobleme.php">
Mon texte1 : <input type="text" name="texte1" value=""></input>
Mon texte2 : <input type="text" name="texte2" value=""></input>
Mon texte3 : <input type="text" name="texte3" value=""></input>

<div align="center">Liste des incidents liés</div>
<form method="post" name="liste_incident" action="/liste_incident.php">
<select name="incidentid">
<option value="0">-- Sélectionner un incident --</option>
<option value="1"> Incident Toto</option>
<option value="2"> Incident Titi</option>
<option value="3"> Incident Tete</option>
</select>
<a href="#" onClick="javascript:liste_incident();">Ajouter à la liste</a>
</form>
<div align="center">input type="submit" value="soumettre"></input></div>
</form>


<script LANGUAGE="JavaScript1.2">
<!--
function liste_incident() {
	errormsg = ""; 
	error_nb = 0;
	
	if (document.liste_incident.incidentid.value=="0") {
		errormsg = "Merci de sélectionner un incident";
		error_nb ++;
	}
	if (error_nb > 0) {
		alert(errormsg);
		document.liste_incident.submit(false);
	} else {
document.liste_incident.submit(true);
}
}
//-->
</script>


Merci par avance de votre aide

4 réponses

Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
tu ne peux ps imbriquer ainsi des fromulaires;

il te manquait un < avant l'input du bouton
essayes comme ça:

<script LANGUAGE="JavaScript1.2">
<!--
function liste_incident() {
	errormsg = ""; 
	error_nb = 0;
	
	if (document.liste_incident.incidentid.value=="0") {
		errormsg = "Merci de sélectionner un incident";
		error_nb ++;
	}
	if (error_nb > 0) {
		alert(errormsg);
		document.liste_incident.submit(false);
	} else {
	return true; // renvoie true ce qui va autoriser le submit du formulaire

	}
	// et on va aussi soumettre le premierformulaire
	document.ticket.submit(true);
}
//-->
</script>

<div align="center">Mon problème</div>
<form method="post" name="ticket" action="/mapagedenregistrementprobleme.php">
Mon texte1 : <input type="text" name="texte1" value=""></input>
Mon texte2 : <input type="text" name="texte2" value=""></input>
Mon texte3 : <input type="text" name="texte3" value=""></input>
</form>
<div align="center">Liste des incidents liés</div>
<form method="post" name="liste_incident" action="/liste_incident.php" onSubmit="return liste_incident();">
<select name="incidentid">
<option value="0">-- Sélectionner un incident --</option>
<option value="1"> Incident Toto</option>
<option value="2"> Incident Titi</option>
<option value="3"> Incident Tete</option>
</select>

<div align="center"><input type="submit" value="soumettre"></input></div>
</form>
3
JB_A Messages postés 301 Date d'inscription   Statut Membre Dernière intervention   5
 
Pour faire ce que je veux, il suffit de mettre le deuxième formulaire dans une <iframe>
3
JB_A Messages postés 301 Date d'inscription   Statut Membre Dernière intervention   5
 
Merci de ta réponse.

En fait ce n'est pas ce que je veux faire...

Soit la personne valide le début de la page (mon problème) et j'envoie les champs du 1er formulaire
vers la page "mapagedenregistrementprobleme.php".

Soit la personne valide la fin de la page (Liste de incidents) et j'envoie le contenu du champ incidentid
vers la page "liste_incident.php".
1
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
alors il te faut un bouton dans chaque from comme ceci:

<script LANGUAGE="JavaScript1.2">
<!--
function liste_incident() {
	errormsg = ""; 
	error_nb = 0;
	
	if (document.liste_incident.incidentid.value=="0") {
		errormsg = "Merci de sélectionner un incident";
		error_nb ++;
	}
	if (error_nb > 0) {
		alert(errormsg);
		document.liste_incident.submit(false);
	} else {
	return true; // renvoie true ce qui va autoriser le submit du formulaire

	}
	
}
//-->
</script>

<div align="center">Mon problème</div>
<form method="post" name="ticket" action="/mapagedenregistrementprobleme.php">
Mon texte1 : <input type="text" name="texte1" value=""></input>
Mon texte2 : <input type="text" name="texte2" value=""></input>
Mon texte3 : <input type="text" name="texte3" value=""></input>
<div align="center"><input type="submit" value="Envoyer la partie haute"></input></div>

</form>
<div align="center">Liste des incidents liés</div>
<form method="post" name="liste_incident" action="/liste_incident.php" onSubmit="return liste_incident();">
<select name="incidentid">
<option value="0">-- Sélectionner un incident --</option>
<option value="1"> Incident Toto</option>
<option value="2"> Incident Titi</option>
<option value="3"> Incident Tete</option>
</select>
<div align="center"><input type="submit" value="Envoyer la partie basse"></input></div>
</form>
0
JB_A Messages postés 301 Date d'inscription   Statut Membre Dernière intervention   5
 
Oui, comme cela pas de problème...

mais le but étant d'avoir le bouton "soumettre" du 1er formulaire soit forcément en bas de la page.

Et c'est la que j'ai un problème, c'est pourquoi, j'ai essayé d'utiliser un texte avec un onClick pour contourner cela.
1