Problème script avec IE

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème script avec IE

par gyzmo45 » 02 nov. 2005, 12:36

Je te signale aussi que tu n'as pas fait ce que j'ai suggéré: dans une liste déroulante, on ne met pas un gestionnaire d'évènement onclick dans une balise option mais onchange dans la balise select.
Où ma tu suggéré cela? [-X

Bon en tout cas maintenan ça marche je te remercie bien :wink:

par Cyrano » 02 nov. 2005, 10:01

Commence par faire du code conforme, ce sera un notable progrès: le script est en dehors des balises <html>
<html>
<head>
<LINK REL=stylesheet HREF="CSSandJavascript/sitelayout.css" TYPE="text/css">
<SCRIPT type="text/javascript">
function envoie()
{
    document.forms['PseudoFind'].submit();
}
function ConfirmDel()
{
    if(confirm("Êtes vous sure de vouloir le supprimer?"))
    {
        document.forms['DelUser'].submit();
    }
}
</SCRIPT>
</head>
<body>
<?php
include("conectDataBase.php");

$requet = "SELECT * FROM Utilisateur ORDER BY Speudo";
$result = mysql_query($requet);
if($result)
{
        ?>
<center>
<form id="PseudoFind" method="post" action="adminPseudo.php">
  Pseudo:<select name="PseudoUser" onChange="envoie()">
<?php
while($ligne = mysql_fetch_array($result))
{
    $Pseudo = $ligne['Speudo'];
        ?>
  <option value=""><?php echo $Pseudo; ?></option>
        <?php
}
        ?>
  </select>
</form> 
<table border="3" bordercolor="FFFFFF" width=90% height=40%>
  <tr align=center>
    <th>Pseudo</th>
    <th>Nom</th>
    <th>Prenom</th>
    <th>Email</th>
    <th>Niveau</th>
  </tr>
  <tr align=center>
<?php
// test l'existence de la variable POST et donc la validation du formulaire
if(isset($_POST['PseudoUser']))
{
    include("rechercheUsers.php");
        ?>
    <td><?php echo $Speudo?></td>
    <td><?php echo $Nom;?></td>
    <td><?php echo $Prenom;?></td>
    <td><?php echo $Email;?></td>
    <td><?php echo $Level;?></td>
    <?php
    }
    else
    {
        ?>
    <td colspan=5>Choisisser un Pseudo</td>
<?php
    }
        ?>
  </tr>
  <tr align=center>
    <td colspan=2>
<?php
    if(isset($_POST['PseudoUser']))
    {
        ?>
      <form name="ModifUser" method="post" action="ModifUser.php?user=<?php echo $_POST['PseudoUser']?>&MDP=<?php echo $MDP?>&nom=<?php echo $Nom ?>&prenom=<?php echo $Prenom ?>&Email=<?php echo $Email ?>&Level=<?php echo $Level ?>&Moderateur=<?php echo $Moderateur ?>">
        <input type="submit" value="modifier">
      </form>
    </td>
    <td colspan=3>
      <form id="DelUser" method="post" action="DelUser.php?user=<?php echo $_POST['PseudoUser']?>">
        <input type="button" value="Supprimer" onClick="ConfirmDel()">
      </form>
    </td>
  </tr>
</table> 
</center>
<?php
    }
}
?>
</body>
</html>
Je te signale aussi que tu n'as pas fait ce que j'ai suggéré: dans une liste déroulante, on ne met pas un gestionnaire d'évènement onclick dans une balise option mais onchange dans la balise select.

par gyzmo45 » 02 nov. 2005, 01:00

voilà ma page avec les modification que tu ma conseiller
<LINK REL=stylesheet HREF="CSSandJavascript/sitelayout.css" TYPE="text/css">
<SCRIPT type="text/javascript">
function envoie()
{
    document.forms['PseudoFind'].submit();
}

function ConfirmDel()
{
    if(confirm("Êtes vous sure de vouloir le supprimer?"))
    {
        document.forms['DelUser'].submit();
    }
}
</SCRIPT>
<html>
<head>
</head>
<body>
<?
include("conectDataBase.php");
	
	$requet = "SELECT * FROM Utilisateur ORDER BY Speudo";
	$result = mysql_query($requet);
	if($result)
	{
		?>
		<center>
		<form id="PseudoFind" method=post action="adminPseudo.php">
		Pseudo:<select name="PseudoUser">
		<?
		while($ligne = mysql_fetch_array($result)) 
		{
		$Pseudo = $ligne['Speudo'];
		?>
		<option onClick="envoie()"><?echo $Pseudo;
		}		
		?>
		</select>
		</form>	
		
		<table border="3" bordercolor="FFFFFF"  width=90% height=40%>
		<tr align=center>
		<th>Pseudo</th><th>Nom</th><th>Prenom</th><th>Email</th><th>Niveau</th>
		</tr>
		<tr align=center>
		<?
		// test l'existence de la variable POST et donc la validation du formulaire
		if(isset($_POST['PseudoUser']))
		{
		include("rechercheUsers.php");
		?>
		<td><?echo $Speudo?></td><td><?echo $Nom;?></td><td><?echo $Prenom;?></td><td><?echo $Email;?></td><td><?echo $Level;?></td>
		<?
		}
		else
		{
		?>
		<td colspan=5>Choisisser un Pseudo</td>
		<?
		}
		?>
		</tr>
		<tr align=center>
		<td colspan=2>
		<?
		if(isset($_POST['PseudoUser']))
		{
		?>
		<form name="ModifUser" method=post action="ModifUser.php?user=<?echo$_POST['PseudoUser']?>&MDP=<?echo$MDP?>&nom=<?echo$Nom?>&prenom=<?echo$Prenom?>&Email=<?echo$Email?>&Level=<?echo$Level?>&Moderateur=<?echo$Moderateur?>">
		<input type=submit value="modifier">
		</form>
		</td>
		<td colspan=3>
		<form id="DelUser" method=post action="DelUser.php?user=<?echo$_POST['PseudoUser']?>">
		<input type=button value="Supprimer" onClick="ConfirmDel()">
		</form>
		</td>
		</tr>
		</table>			
		</center>
		<?
		}	
	}
?>
</body>
</html>
J'ai beau chercher je ne vois pas pourquoi :roll:

Je rectifie sa marche toujours bien sous Netscape mais toujours pas sous IE :evil:

par Cyrano » 01 nov. 2005, 20:15

fais voir le code du formulaire.

par gyzmo45 » 01 nov. 2005, 19:16

Merci de ta réponse

j'ai bien modifie les deux balise name concerné par id et j'ai fais un copier coller du script que tu me proposer mais maintenant sa ne fonctionne plus sous Netscape et toujours pas sous IE

j'ai essayé de supprimer le "s" de forms dans
document.forms['DelEnigme'].submit();
mais cela na rien changé


une autre idée?

:-k

Merci encors

par Cyrano » 01 nov. 2005, 12:54

Dans ton formulaire, remplace l'attribut name de ta balise <form> par un attribut id (avec la même valeur). Ensuite, fais une petite modification dans tes fonctions:
<SCRIPT type="text/javascript">
function envoie()
{
    document.forms['EnigmeFind'].submit();
}

function ConfirmDel()
{
    if(confirm("Êtes vous sure de vouloir le supprimer?") == 1)
    {
        document.forms['DelEnigme'].submit();
    }
}
</SCRIPT>

Problème script avec IE

par gyzmo45 » 01 nov. 2005, 10:41

Bonjour

Voilà j'ai un petit problème de compatibilité, ce script marche très bien sous netscape mais sous IE.... rien
Pourtant c'est un code tout simple tener regarder
<SCRIPT LANGUAGE="JavaScript">
	function envoie()
		{
		document.EnigmeFind.submit();		
		}	
		
	function ConfirmDel()
		{
		if(confirm("Êtes vous sure de vouloir le supprimer?"))
			{
			document.DelEnigme.submit();
			}
		}
</SCRIPT>
Rien ne ce passe quand je clique sur mon bouton avec IE
est ce que quelqu'un serait-il pouquoi?

Merci d'avance