Problème de "onclick" en Javascript

Bonjour,
j'ai un petit problème avec mon code j'ai inséré un "onclick " dans ma balise de lien afin d'ouvrir une fenêtre de discussion.

<a href="supprimer.php?id='.$id.'" value="Supprimer" onClick="return confirm("Voulez vous vraiment supprimer ce commercant?")" >

Cependant lorsque je clique sur ce lien je n'ai aucune fenetre qui s'ouvre... et lorsque je regarde le code source j'ai :

<a href="supprimer.php?id=5" value="Supprimer" onclick="return confirm(" voulez="" vous="" vraiment="" supprimer="" ce="" commercant?="" )="">

Si vous avez un petite idée de mon problème :s

Merci d'avance
Cordialement
Léa

5 réponses

  1. Contributeur
    Essaie ceci, ça pourrait peut-être marcher (le problème venait des guillemets) :
    <a href="supprimer.php?id=<?php echo($id);?>" value="Supprimer" onClick="return confirm('Voulez vous vraiment supprimer ce commercant ?')"> 
    1. Je ne peu pas utiliser les guillemets simple car je suis dans des balise php

      echo '<tr>

      <td>'.$nom.'</td>
      <td>'.$activite.'</td>
      <td>'.$detail.'</td>

      <td>
      <a href="supprimer.php?id='.$id.'" value="Supprimer" onClick="return confirm("Voulez vous vraiment supprimer ce commercant?")" > <img src="images/supprimer.gif" alt="Supprimer" title="Supprimer" border=0;/></a>
      </td>
      </tr>';

      Donc lorsque j'utilise des apostrophes j'ai une erreur :(
      1. Contributeur
        Oui mais tu n'es pas obligée de rester dans <?php.
        Tu peux aussi faire comme ça :
        ?>  
        <tr>  
        <td><?php echo($nom);?></td>  
        <td><?php echo($activite);?></td>  
        <td><?php echo($detail);?></td>  
        <td><a href="supprimer.php?id=<?php echo($id);?>" value="Supprimer" onClick="return confirm('Voulez vous vraiment supprimer ce commercant ?')"><img src="images/supprimer.gif" alt="Supprimer" title="Supprimer" border=0 /></a></td>  
        </tr>  
        <?php
      2. Oui mais si je sort de ma balise php mes variables $id, $nom,etc.. ne seront plus valable car celle-ci récupèrent mes données directement dans la base de données :s
      3. Contributeur
        Et non. Si tu remplaces le code que tu m'as donné par le mien, tu verras, ça marche (en tous cas si c'est du PHP5)
      4. Je ne pouvais pas faire a ta manière ...je code effectivement en php4 =(
        Merci pour ton aide =)
    2. et les échappements tu connais ?

      si une chaine commence par ' les ' à l'interieur de la chaine seront échappés par \
      idem avec " par \"

      ex: echo 'sddfff (\'ddffdf\')';
      1. Contributeur
        Oui mais il n'ont aucun intérêt à être utilisés ici. Pas question de mettre tout le code HTML en paramètre de la fonction echo() de PHP.
    3. ghuysmans99 ce n'est pas à toi que ma remarque s'adressait

      mais a lea qui disait:

      Je ne peu pas utiliser les guillemets simple car je suis dans des balise php
      1. Merci beaucoup ça a marché \o/ Je ne connaissais pas du tout ...

        Mercii :D