Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/11/2011, 18h20   #1
Membre à l'essai
 
Inscription : septembre 2008
Messages : 88
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 88
Points : 24
Points : 24
Par défaut Variable Post ok dans IE absente dans Firefox

Bonjour,

Voici un bout de code contenu dans un formulaire en method post :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<?php
include ("selectentreprise.php"); //<!--Pour remplir la liste déroulante 1-->
?>
<td width="50px"><font color="green">N°</td>
<td class="texte0">
<input type="text" class="form0" style="width:182px" id="num_rue" name="num_rue" value=""></center>
</td>
<tr>
<td><font color="green">CDP</td>
<?php
include_once ("selectcdp.php");
?>
Ce code a pour but de générer un selection d'entreprise depuis le premier include selectentreprise.php . C'est un simple select rempli depuis une base de donnée sur onchange on remplit une liste déroulante dont le code est contenu dans le second fichier selectcdp.php. Cela fonctionne très bien sauf que sur Firefox je perds la variable $_post du second select alors que ça marche nickel sur IE8.
J'ai interrompu le code de cette manière
Code :
var_dump($_POST);  exit;
et effectivement je vois bien que la variable du second include n'est pas posté sous Firefox alors qu'elle l'est sous IE. Pouvez-vous me donner des indices ?
Merci
Antherak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 11h04   #2
Modérateur
 
Avatar de s.n.a.f.u
 
Homme
Développeur Web
Inscription : août 2006
Messages : 2 700
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : août 2006
Messages : 2 700
Points : 3 357
Points : 3 357
Salut,

Le code fourni ne permets pas de diagnostiquer ton problème.
Pourrais-tu fournir le code du formulaire (select + submit) ?
__________________
  • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
  • Merci d'utiliser les balises de code (# dans l'éditeur)
  • Si votre problème est réglé, merci d'utiliser le bouton
S.N.A.F.U
s.n.a.f.u est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 13h26   #3
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 666
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 666
Points : 5 394
Points : 5 394
PHP se moquant éperdument du navigateur utilisé, logiquement ça veut dire que ton formulaire ne doit pas être bien construit et que IE parvient de recoller les morceaux et pas FF.
Le plus simple est de comparer les deux sources HTML, en plus du code PHP de génération.
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 15h33   #4
Membre à l'essai
 
Inscription : septembre 2008
Messages : 88
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 88
Points : 24
Points : 24
Citation:
Envoyé par s.n.a.f.u Voir le message
Salut,

Le code fourni ne permets pas de diagnostiquer ton problème.
Pourrais-tu fournir le code du formulaire (select + submit) ?
Bonjour et merci de l'intérêt porté à mon souci.
J'ai repris le code en respectant la procédure trouvé sur ce tuto :
http://siddh.developpez.com/articles/ajax/
Visuellement ça marche parfaitement sur IE et Firefox mais fonctionnellement seule la variable du premier select est posté sur firefox et Opéra. Il manque la seconde variable. (Par contre ç'est ok sour IE)

Voici mon code avec un peu plus de détail (sachant qu'il y a 3 ou 4 formulaires différents dans la page principale)
Code Ajax
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<script type='text/javascript'>
 
			function getXhr(){
                                var xhr = null; 
				if(window.XMLHttpRequest) // Firefox et autres
				   xhr = new XMLHttpRequest(); 
				else if(window.ActiveXObject){ // Internet Explorer 
				   try {
			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
			            } catch (e) {
			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
			            }
				}
				else { // XMLHttpRequest non supporté par le navigateur 
				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
				   xhr = false; 
				} 
                                return xhr;
			}
 
			/**
			* Méthode qui sera appelée sur le click du bouton
			*/
			function go(){
				var xhr = getXhr();
				// On défini ce qu'on va faire quand on aura la réponse
				xhr.onreadystatechange = function(){
					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
					if(xhr.readyState == 4 && xhr.status == 200){
						leselect = xhr.responseText;
						// On se sert de innerHTML pour rajouter les options a la liste
						document.getElementById('cdp').innerHTML = leselect;
					}
				}
 
				// Ici on va voir comment faire du post
				xhr.open("POST","selectcdp.php",true);
				// ne pas oublier ça pour le post
				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
				// ne pas oublier de poster les arguments
				// ici, l'id de l'entreprise
				sel = document.getElementById('create_entreprise');
				identreprise = sel.options[sel.selectedIndex].value;
				xhr.send("identreprise="+identreprise);
			}
		</script>
Code page principale :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<form action="travaux_list.php" method="post" name="create">
<td>
<table height="164px">
<caption><?php echo "CRÉER UN DOSSIER TRAVAUX"; ?></caption>
<td width="50px"><font color="green">Entreprise</td>
<td>
<select class="form0" style="width:182px" name="create_entreprise" id="create_entreprise" onchange='go()'>
<option selected value="">Choisir ...</option>
<?php
$rq="Select num_client, nom, nom2 from table.client order by nom ";
$result= mysql_query ($rq) or die ("Select impossible");
$rq_pos_id=0; 
$rq_pos_val=1;
if (mysql_num_rows($result) != 0) {
while ($row = mysql_fetch_row($result)) {
		echo '<option value="'. $row[0] .'">'. $row[1] .' '. $row[2] .'</option>';
		}
}
?>
</select></td>
 
<td width="50px"><font color="green">N°</td>
<td class="texte0">
<input type="text" class="form0" style="width:182px" id="num_rue" name="num_rue" value=""></center>
</td>
<tr>
<td><font color="green">CDP</td>
<td class="texte0">
				<div id='cdp' style='display:inline'>
				<select name='cdp'>
				<option value=''>Choisir un cdp</option>
				</select>
				</div>
</td><td class="submit" colspan="4"><div align="right"><input type="submit" value="Envoyer"></div></td>
<input type="hidden" name="create_dossier" value="1"></div></tr></td>
</form>
Code de la page appelée selectcdp.php pour remplir la liste liée
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
<?php
	echo "<select name='cdp'>";
	if(isset($_POST["identreprise"]))
	{
	require("include/config/common.php");
	$rq="Select id_cdp, nom_cdp, prenom_cdp from table_cdp WHERE cdp_acti='y' AND cdp_client='".$_POST["identreprise"]."' order by nom_cdp ";
	$rq_pos_id=0;
	$rq_pos_val=1;
	$result= mysql_query ($rq) or die ("Select impossible");	
	if (mysql_num_rows($result) != 0)
	{
	echo '<option selected value="">Choisir ...</option>';
	while ($row = mysql_fetch_row($result)) 
	{
	echo '<option value="'. $row[0] .'">'. $row[1] .' '. $row[2] .'</option>';
	}
	}
	}
	echo "</select>";
?>
Code provisoire pour traitement des variables postées
Code :
1
2
3
4
5
6
7
8
9
$create_dossier=isset($_POST['create_dossier'])?$_POST['create_dossier']:"";
if (isset($create_dossier) && $create_dossier==1)
{
 
// il faut créer un dossier en s'assurant que les champs sont remplis
<?php
$create_entreprise=isset($_POST['create_entreprise'])?$_POST['create_entreprise']:"";
$cdp=isset($_POST['cdp'])?$_POST['cdp']:"";
echo $cdp."l145" ;var_dump($_POST);  exit;?>
Voilà, la variable CDP n'est pas posté sur firefox.
J'ajoute juste pour la forme que j'ai placé une alert (leselect) dans le code javascript. La réponse est ok et on voit clairement apparaitre le text type <select name='cdp' etc ...
La console d'erreur n'affiche pas d'erreur.
Je suis perplexe.
Merci de votre aide
Antherak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 22h35   #5
Membre habitué
 
Avatar de rinuom99
 
Étudiant
Inscription : août 2007
Messages : 238
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2007
Messages : 238
Points : 125
Points : 125
Envoyer un message via MSN à rinuom99
si j'ai une bonne mémoire, le problème est du de la partie javascript.

essayer d'utiliser la syntaxe
Code :
 document.create.getElementById.........
au lieu
Code :
 document.getElementById.........
__________________
Si tu peux voir détruit l'ouvrage de ta vie.
Et sans dire un seul mot te mettre à rebâtir,
Tu seras un Homme, mon fils.
rinuom99 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 19h01   #6
Membre à l'essai
 
Inscription : septembre 2008
Messages : 88
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 88
Points : 24
Points : 24
Bon, j'ai mis pas mal de temps pour trouver la cause du dysfonctionnement.
Le code php et javascript fonctionne très bien mais la raison provient du formatage du code html.


Avant : Cette structure empêche le code de fonctionner et ne trasmet pas la variable post cdp sous firefox
Code html :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<td>
<form name="1" >
<table><caption></caption>
<tr>
<td></td>
<td></td></tr>
</table></form></td>
 
<form name="2" >
<td>
<table><caption></caption>
<tr>
<td><div id="cdp"><select name="cdp" onchange="go()"></select></div></td>
<td></td></tr>
</table></td></form>


Après : Cette structure fonctionne. Noter l'emplacement des balises td dans la seconde partie
Code html :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<td>
<form name="1" >
<table><caption></caption>
<tr>
<td></td>
<td></td></tr>
</table></form></td>
 
<td>
<form name="2" >
<table><caption></caption>
<tr>
<td><div id="cdp"><select name="cdp" onchange="go()"></select></div></td>
<td></td></tr>
</table></form></td>
Antherak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 21h24   #7
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
On ne le répète jamais assez, mais une bonne présentation du code est la première étape d'un débogage facilité.
Si tu avais correctement indenté ton code dès le début tu aurais vu les erreurs :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<form action="travaux_list.php" method="post" name="create">
   <td>
      <table height="164px">
         <caption><?php echo "CRÉER UN DOSSIER TRAVAUX"; ?></caption>
            <td width="50px"><font color="green">Entreprise</td>
            <td>
               <select class="form0" style="width:182px" name="create_entreprise" id="create_entreprise" onchange='go()'>
                  <option selected value="">Choisir ...</option>
                  <?php
                  $rq="Select num_client, nom, nom2 from table.client order by nom ";
                  $result= mysql_query ($rq) or die ("Select impossible");
                  $rq_pos_id=0; 
                  $rq_pos_val=1;
                  if (mysql_num_rows($result) != 0) {
                  while ($row = mysql_fetch_row($result)) {
                        echo '<option value="'. $row[0] .'">'. $row[1] .' '. $row[2] .'</option>';
                        }
                  }
                  ?>
               </select>
            </td>
            <td width="50px"><font color="green">N°</td>
            <td class="texte0">
               <input type="text" class="form0" style="width:182px" id="num_rue" name="num_rue" value=""></center>
            </td>
         <tr>
            <td><font color="green">CDP</td>
            <td class="texte0">
               <div id='cdp' style='display:inline'>
                  <select name='cdp'>
                     <option value=''>Choisir un cdp</option>
                  </select>
               </div>
            </td>
            <td class="submit" colspan="4">
               <div align="right">
                  <input type="submit" value="Envoyer">
               </div>
            </td>
         <input type="hidden" name="create_dossier" value="1">
      </div>
   </tr>
</td>
</form>
Je te laisse balader ton curseur de haut en bas et tu verras le nombre de balises incohérentes et même mal formées. Après il ne faut pas s'étonner que le comportement n'est pas celui réellement escompté...
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 14/11/2011, 11h44   #8
Membre à l'essai
 
Inscription : septembre 2008
Messages : 88
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 88
Points : 24
Points : 24
Citation:
Envoyé par rawsrc Voir le message
On ne le répète jamais assez, mais une bonne présentation du code est la première étape d'un débogage facilité.
Si tu avais correctement indenté ton code dès le début tu aurais vu les erreurs :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<form action="travaux_list.php" method="post" name="create">
   <td>
      <table height="164px">
         <caption><?php echo "CRÉER UN DOSSIER TRAVAUX"; ?></caption>
            <td width="50px"><font color="green">Entreprise</td>
            <td>
               <select class="form0" style="width:182px" name="create_entreprise" id="create_entreprise" onchange='go()'>
                  <option selected value="">Choisir ...</option>
                  <?php
                  $rq="Select num_client, nom, nom2 from table.client order by nom ";
                  $result= mysql_query ($rq) or die ("Select impossible");
                  $rq_pos_id=0; 
                  $rq_pos_val=1;
                  if (mysql_num_rows($result) != 0) {
                  while ($row = mysql_fetch_row($result)) {
                        echo '<option value="'. $row[0] .'">'. $row[1] .' '. $row[2] .'</option>';
                        }
                  }
                  ?>
               </select>
            </td>
            <td width="50px"><font color="green">N°</td>
            <td class="texte0">
               <input type="text" class="form0" style="width:182px" id="num_rue" name="num_rue" value=""></center>
            </td>
         <tr>
            <td><font color="green">CDP</td>
            <td class="texte0">
               <div id='cdp' style='display:inline'>
                  <select name='cdp'>
                     <option value=''>Choisir un cdp</option>
                  </select>
               </div>
            </td>
            <td class="submit" colspan="4">
               <div align="right">
                  <input type="submit" value="Envoyer">
               </div>
            </td>
         <input type="hidden" name="create_dossier" value="1">
      </div>
   </tr>
</td>
</form>
Je te laisse balader ton curseur de haut en bas et tu verras le nombre de balises incohérentes et même mal formées. Après il ne faut pas s'étonner que le comportement n'est pas celui réellement escompté...
Bonjour,

Merci pour ces remarques très constructives , pleines de bon sens, de tact, de pédagogie et emprunt d'entraide. Je vois bien la mise en page en forme "d'escalier" descendant et montant permettant de symétriser les balises. (C'est pas mal mais ne pas le faire ne m'écarte pas du standard html)
Je ne vois pas où sont les balises incohérentes et mal formées dont vous parlez. Merci de me les désigner pour que je puisse progresser et me permettre ainsi de ne pas déranger les membres éminents de ce forum.
Antherak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 14h05   #9
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Bonjour,

J'ai annoté ton code HTML en mettant en évidence ce qui pique les yeux :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<form action="travaux_list.php" method="post" name="create">
   <td> <!-- BALISE TD AVANT TABLE -->
      <table height="164px"> <!-- ON NE MET PAS D'UNITE : % OU ENTIER - TAG <table> NON FERME - MANQUE <thead> <tbody>... -->
         <caption><?php echo "CRÉER UN DOSSIER TRAVAUX"; ?></caption>
         <td width="50px"><font color="green">Entreprise</td> <!-- ON NE MET PAS D'UNITE : % OU ENTIER - TAG <font> NON FERME -->
         <td>
            <select class="form0" style="width:182px" name="create_entreprise" id="create_entreprise" onchange='go()'>
               <option selected value="">Choisir ...</option>
               <?php
               $rq="Select num_client, nom, nom2 from table.client order by nom ";
               $result= mysql_query ($rq) or die ("Select impossible");
               $rq_pos_id=0;
               $rq_pos_val=1;
               if (mysql_num_rows($result) != 0) {
               while ($row = mysql_fetch_row($result)) {
                     echo '<option value="'. $row[0] .'">'. $row[1] .' '. $row[2] .'</option>';
                     }
               }
               ?>
            </select>
         </td>
         <td width="50px"><font color="green">N°</td> <!-- ON NE MET PAS D'UNITE : % OU ENTIER - TAG <font> NON FERME -->
         <td class="texte0">
            <input type="text" class="form0" style="width:182px" id="num_rue" name="num_rue" value=""></center> <!-- TAG <input> NON FERME - TAG </center> NON OUVERT -->
         </td>
         <tr>
            <td><font color="green">CDP</td> <!-- TAG <font> NON FERME -->
            <td class="texte0">
               <div id='cdp' style='display:inline'>
                  <select name='cdp'>
                     <option value=''>Choisir un cdp</option>
                  </select>
               </div>
            </td>
            <td class="submit" colspan="4">
               <div align="right">
                  <input type="submit" value="Envoyer"> <!-- TAG <input> NON FERME -->
               </div>
            </td>
            <input type="hidden" name="create_dossier" value="1"> <!-- TAG <input> NON FERME - MAL POSITIONNE : <table> -> <input> -->
            </div> <!-- TAG </div> NON OUVERT -->
         </tr>
   </td>
</form>
Citation:
C'est pas mal mais ne pas le faire ne m'écarte pas du standard html
Si tu veux tu peux aussi tout minifier et tu verras tu ne t'écarteras pas non plus du standard, mais vu les erreurs que tu commets, je m'embarquerais pas dans ce genre de réflexion. Pour apprendre, il faut que ton code soit LISIBLE et la présentation est tout aussi importante que la fait de bien nommer ses variables. Donc présentes bien ton code et tu te remercieras toi-même régulièrement.
Et si tu veux voir un code minifié qui n'enfreint pas le standard mais qui est illisible, je t'invite à regarder la source de http://www.google.fr
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2011, 14h38   #10
Membre à l'essai
 
Inscription : septembre 2008
Messages : 88
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 88
Points : 24
Points : 24
Citation:
Envoyé par rawsrc Voir le message
Bonjour,

J'ai annoté ton code HTML en mettant en évidence ce qui pique les yeux :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<form action="travaux_list.php" method="post" name="create">
   <td> <!-- BALISE TD AVANT TABLE -->
      <table height="164px"> <!-- ON NE MET PAS D'UNITE : % OU ENTIER - TAG <table> NON FERME - MANQUE <thead> <tbody>... -->
         <caption><?php echo "CRÉER UN DOSSIER TRAVAUX"; ?></caption>
         <td width="50px"><font color="green">Entreprise</td> <!-- ON NE MET PAS D'UNITE : % OU ENTIER - TAG <font> NON FERME -->
         <td>
            <select class="form0" style="width:182px" name="create_entreprise" id="create_entreprise" onchange='go()'>
               <option selected value="">Choisir ...</option>
               <?php
               $rq="Select num_client, nom, nom2 from table.client order by nom ";
               $result= mysql_query ($rq) or die ("Select impossible");
               $rq_pos_id=0;
               $rq_pos_val=1;
               if (mysql_num_rows($result) != 0) {
               while ($row = mysql_fetch_row($result)) {
                     echo '<option value="'. $row[0] .'">'. $row[1] .' '. $row[2] .'</option>';
                     }
               }
               ?>
            </select>
         </td>
         <td width="50px"><font color="green">N°</td> <!-- ON NE MET PAS D'UNITE : % OU ENTIER - TAG <font> NON FERME -->
         <td class="texte0">
            <input type="text" class="form0" style="width:182px" id="num_rue" name="num_rue" value=""></center> <!-- TAG <input> NON FERME - TAG </center> NON OUVERT -->
         </td>
         <tr>
            <td><font color="green">CDP</td> <!-- TAG <font> NON FERME -->
            <td class="texte0">
               <div id='cdp' style='display:inline'>
                  <select name='cdp'>
                     <option value=''>Choisir un cdp</option>
                  </select>
               </div>
            </td>
            <td class="submit" colspan="4">
               <div align="right">
                  <input type="submit" value="Envoyer"> <!-- TAG <input> NON FERME -->
               </div>
            </td>
            <input type="hidden" name="create_dossier" value="1"> <!-- TAG <input> NON FERME - MAL POSITIONNE : <table> -> <input> -->
            </div> <!-- TAG </div> NON OUVERT -->
         </tr>
   </td>
</form>

Si tu veux tu peux aussi tout minifier et tu verras tu ne t'écarteras pas non plus du standard, mais vu les erreurs que tu commets, je m'embarquerais pas dans ce genre de réflexion. Pour apprendre, il faut que ton code soit LISIBLE et la présentation est tout aussi importante que la fait de bien nommer ses variables. Donc présentes bien ton code et tu te remercieras toi-même régulièrement.
Et si tu veux voir un code minifié qui n'enfreint pas le standard mais qui est illisible, je t'invite à regarder la source de http://www.google.fr
Bonjour

Merci pour toutes ces informations fort interessantes.
Vous l'aurez cependant compris, ceci est un extrait de code dans la page (cette page fait en réalité 1164 lignes)
Exemple la balise td de départ n'est pas fermée car il y a plusieurs tables qui se suivent dans le formulaire. Je note que mes inputs ne sont pas fermées.
Comment les fermer ?

Il n'empêche que le post de départ porté sur le fait qu'une variable n'était pas portée par PHP/AJAX dans firefox alors que les autres l'étaient sans problème.
Le code fonctionnait parfaitement sous IE, Opéra et Safari.
Cela était d'autant plus étonnant que d'autres variables encadrées par les mêmes balises autour du formulaire l'étaient sans problème.
Dans mon bordel ambiant (cf moreno théorie du bordel ambiant), j'ai déplacé les <td></td> du 2nd formulaire pour les encadrer par les balises <form> et cela a résolu le problème dans firefox. Merci à moi de m'en être rendu compte.
Que ce post serve à d'autres ..

Il reste néanmoins interessant de constater que tous les navigateurs ne réagissent pas de la même manière. A priori Firefox, semble être très exigent.

Je note donc la nécessité d'être rigoureux dans la syntaxe mais ce n'est pas évident de tout voir dans le bloc note et parfois des erreurs de syntaxe m'échappent. Un utilitaire qui crée automatiquement les balises de fin à l'écriture d'une balise de départ serait bienvenu.

Cdlt
Antherak est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h52.


 
 
 
 
Partenaires

Hébergement Web