probleme avec une popup

luna
Invité n'ayant pas de compte PHPfrance

25 juil. 2006, 14:19

Bonjour,

Voila, j'ai une popup qui s'affiche l'on doit choisir un enregistrement et celui- ci rempli le formulaire d'ou est appelé la popup.

Donc en faite certain de mes enregistrement se remplise correctement, par contre j'ai certain enregistrement, lorque je clique dessus, rien ne se passe.

Dans le bas de ma fenetre une erreur s'affiche, sauf lorque qu'un seul enregistrement s'affiche. Ce que je ne comprend pas c'est que meme pour les enregistrements qui marche l'erreur est afficher.
l'erreur m'indique : ')' atendu. ligne 76 car 34 Pourtant, je ne vois pas ou cela me manque.

J'ai regardé le code course de la fenetre car le numero de ligne ou cela m'indique l'erreur n'est pas dans mon code d'origine.
<html>
<head>

<script language="javascript">
function choisir(truc, truc2, truc3, truc4)
{ 
alert(truc);window.opener.document.enreg.mat.value= truc;
alert(truc2);window.opener.document.enreg.gc.value= truc2;
alert(truc3);window.opener.document.enreg.ad.value= truc3;
alert(truc4);window.opener.document.enreg.cop.value= truc4;

self.close();}
</script>
<style type="text/css">
<!--
.Style1 {font-family: Tahoma}
-->
</style>
</head> 
<body>

<span class="Style1">

</span>
<p align="left" class="Style1"><a href="javascript:history.go(-1)"><img src="image/precedent.gif" width="41" height="25" border="0"></a>
</p>
<p class="Style1"></p>
<p class="Style1"></p>
<table width="100%"  border="1">
  <tr align="center" valign="middle">
    <td width="9%" class="Style1">Matricule du site </td>
    <td width="17%" class="Style1">Adresse</td>
    <td width="6%" class="Style1">Code postal </td>
    <td width="21%" class="Style1">Ville</td>
  </tr>
  
  
    <td class="Style1"><a href="#" onClick="javascript:choisir('aa','aaa','aaaaaaaa','aaaaaa')">AD4</a></td>
    <td class="Style1">aaaaaaaa</td>
    <td class="Style1">aaaaaa</td>
    <td class="Style1">aaa</td>
  </tr>

  

</table>
<div align="center" class="Style1"></div>
</body>
</html>


et mon code

<html>
<head>

<script language="javascript">
function choisir(truc, truc2, truc3, truc4)
{ 
alert(truc);window.opener.document.enreg.mat.value= truc;
alert(truc2);window.opener.document.enreg.gc.value= truc2;
alert(truc3);window.opener.document.enreg.ad.value= truc3;
alert(truc4);window.opener.document.enreg.cop.value= truc4;

self.close();}
</script>
<style type="text/css">
<!--
.Style1 {font-family: Tahoma}
-->
</style>
</head> 
<body>

<span class="Style1">
<?php
if(isset($_GET['mat']))
{$mat=$_GET['mat'];
}
include_once("connexion.php");
    
?>

</span>
<p align="left" class="Style1"><a href="javascript:history.go(-1)"><img src="image/precedent.gif" width="41" height="25" border="0"></a>
</p>
<p class="Style1"></p>
<p class="Style1"></p>
<table width="100%"  border="1">
  <tr align="center" valign="middle">
    <td width="9%" class="Style1">Matricule du site </td>
    <td width="17%" class="Style1">Adresse</td>
    <td width="6%" class="Style1">Code postal </td>
    <td width="21%" class="Style1">Ville</td>
  </tr>
<?php

// on crée la requête SQL
$reqsql2 = mysql_query("[b]ma requete[/b]");



while ($rep = @mysql_fetch_object($reqsql2)) {
			$mat = $rep->matricule_lieux;
    		$ad = $rep->ad_rue_lieux;
    		$cp = $rep->cp_ville;
    		$vil = $rep->ville;
    		$gc = $rep->nom_gc;
  			$sit= $rep->site;
    // on affiche les informations de l'enregistrement en cours
?>
  
  <tr align="center" valign="middle">
  
    <td class="Style1"><a href="#" onClick="javascript:choisir('<?php echo $mat ?>','<?php echo $gc ?>','<?php echo $ad." ".$cp." ".$vil ?>','<?php echo $sit ?>')"><?php echo $mat ?></a></td>
    <td class="Style1"><?php echo $ad ?></td>
    <td class="Style1"><?php echo $cp ?></td>
    <td class="Style1"><?php echo $vil ?></td>
  </tr>

<?php
}
?>
</table>
<div align="center" class="Style1"></div>
</body>
</html>
voila, j'espère que vous pourrez m'aiguiller.

merci d'avance

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

25 juil. 2006, 14:22

C'est un erreur Javascript ?

Si c'est le cas, le code source HTML généré sera plus utile[/b]

luna
Invité n'ayant pas de compte PHPfrance

25 juil. 2006, 14:29

le code généré, c'est la premiere parti de code que je vous ai mi. je vous ai mi qu'un extrait car il y a de très nombreux enregistrement.

Code : Tout sélectionner

<tr align="center" valign="middle"> <td class="Style1"><a href="#" onClick="javascript:choisir('aa','aaa','aaaaaaaaaaaaaaaa','1')">aa</a></td> <td class="Style1">aaaaaaa</td> <td class="Style1">aaaa</td> <td class="Style1">aaaaaaaaaaa</td> </tr>
cette parti se repete

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

25 juil. 2006, 14:33

Désolé j'ai lu trop vite

Tu peux déjà rajouter un point-virgule à la fin de chaque instruction Javascript :

Code : Tout sélectionner

javascript:history.go(-1);

Invité
Invité n'ayant pas de compte PHPfrance

25 juil. 2006, 14:35

ok merci c'est fait

Mammouth du PHP | 1776 Messages

25 juil. 2006, 14:37

<td class="Style1"><a href="#" onClick="javascript:choisir('<?php echo $mat ?>','<?php echo $gc ?>','<?php echo $ad." ".$cp." ".$vil ?>','<?php echo $sit ?>')"><?php echo $mat ?></a></td>
essaie comme cela ==>
<td class="Style1"><a href="#" onClick="javascript:choisir('<?php echo $mat ?>','<?php echo $gc ?>','<?php echo $ad." ".$cp." ".$vil ?>','<?php echo $sit ?>');"><?php echo $mat ?></a></td>
et donne nous ton source generé pour l'enregistrement qui ne fonctionne pas, j'ai pour idée un ' qui traîne dans un champ... :roll:

luna
Invité n'ayant pas de compte PHPfrance

25 juil. 2006, 14:43

tu as juste ajouter le ; ?
<html>
<head>

<script language="javascript">
function choisir(truc, truc2, truc3, truc4)
{ 
alert(truc);window.opener.document.enreg.mat.value= truc;
alert(truc2);window.opener.document.enreg.gc.value= truc2;
alert(truc3);window.opener.document.enreg.ad.value= truc3;
alert(truc4);window.opener.document.enreg.cop.value= truc4;

self.close();}
</script>
<style type="text/css">
<!--
.Style1 {font-family: Tahoma}
-->
</style>
</head> 
<body>

<span class="Style1">

</span>
<p align="left" class="Style1"><a href="javascript:history.go(-1);"><img src="image/precedent.gif" width="41" height="25" border="0"></a>
</p>
<p class="Style1"></p>
<p class="Style1"></p>
<table width="100%"  border="1">
  <tr align="center" valign="middle">
    <td width="9%" class="Style1">Matricule du site </td>
    <td width="17%" class="Style1">Adresse</td>
    <td width="6%" class="Style1">Code postal </td>
    <td width="21%" class="Style1">Ville</td>
  </tr>
  
  <tr align="center" valign="middle">
  
    <td class="Style1"><a href="#" onClick="javascript:choisir('aa','aaa','aaaaaaa','aaa');">aaaa</a></td>
    <td class="Style1">aaaaaa</td>
    <td class="Style1">aaaaa</td>
    <td class="Style1">aaaaaaa</td>
  </tr>

  
  <tr align="center" valign="middle">
  
    <td class="Style1"><a href="#" onClick="javascript:choisir('bbb','bbbb','bbbbbbb','bbb');">bbbb</a></td>
    <td class="Style1">bbbbbbbbbb</td>
    <td class="Style1">bbbbb</td>
    <td class="Style1">bbbbb</td>
  </tr>

  ...........................................
  

</table>
<div align="center" class="Style1"></div>
</body>
</html>

j'ai comparé avec le moment ou il n'y a pas d'erreur. En faite a partir du moment ou il y a + de 1 enregistrement ya une erreur (mais cela peut tout de meme fonctionner dans certain cas). Mais je ne vois poas d'erreru cela repete juste la parti que je vous ai afficher precedemment.

Mammouth du PHP | 1776 Messages

25 juil. 2006, 14:48

ligne 76 car 34
c'est quelle ligne ?
Les aaaaa et bbbb sont bien les valeurs que tu entre dans tes champs ? ou ce sont des autres valeurs que tu ne nous donne pas ?

Mammouth du PHP | 1776 Messages

25 juil. 2006, 14:50

Dans ton fichier, si tu as : remplace le par :

luna
Invité n'ayant pas de compte PHPfrance

25 juil. 2006, 14:50

je voulais juste preciser. J'ai ma fenetre(1) a partir duquel j'appelle une popup. Dans cette fenetre(2) je choisi entre plusieur enregistrement et cela change de fenetre (3). Ces a partir de cette derniere que les enregistrement s'affiche sur la fenetre 1.

Les erreurs sont elle aussi sur la fénétre 3 (enfin normalement)

tout les enregistrements affiché sur la fenetre 3 ont un probleme ou non. Cela est fonction de se qui a été choisi dans la fenetre 2.


je suis en trein de me demander si je vous ai eclairci ou je vous ai embouillé!!!!!lol.

luna
Invité n'ayant pas de compte PHPfrance

25 juil. 2006, 14:51

les aaaa et bbbbb sont des valeur que je vous donne pas. (mais les enregistrement s'affiche correctement a cet endroit.

luna
Invité n'ayant pas de compte PHPfrance

25 juil. 2006, 14:54

je nai pas compris le
Dans ton fichier, si tu as : remplace le par :

la ligne 76 c'est la premiere ligne

Code : Tout sélectionner

<td class="Style1"><a href="#" onClick="javascript:choisir('aa','aaa','aaaaaaa','aaa');">aaaa</a></td>
mais cela varie des fois c'est la premiere et d'autre fois non, alors qu'il n'y a pas de modification.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

25 juil. 2006, 14:55

Avec le code que tu nous a donné, je ne vois pas ce qui pourrait poser problème.

Si ce n'est pas déjà le cas, tu peux essayer de tester avec Firefox, qui a une console JS plus pratique que celle d'IE.

Mais là comme ça, je ne vois pas désolé.

luna
Invité n'ayant pas de compte PHPfrance

25 juil. 2006, 15:02

meme probleme sur firefox, je test toujours avec les 2 pour etre sur.

Eléphant du PHP | 120 Messages

25 juil. 2006, 15:06

question pour 1 champion :

est ce que quand on fait un "window.opener" dans sa fenetre(3) il nous renvoi à la fenetre(1) ou fenetre(2)??