Mise à jour d'une page avec php

bil404 Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   -  
bil404 Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai une fenetre popup qui contient des données ,le pb est que je veut que lorsque je valide ces données une zone de text dans la page principale sera rempli automatiquement ????

Merci .
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. divland Messages postés 215 Statut Membre 13
     
    bonjour,
    ça peut se faire avec un peu de javascript...
    0
  2. bil404 Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   2
     
    bonjour,

    peut tu m'expliquer comment SVP ?

    MERCI
    0
    1. divland Messages postés 215 Statut Membre 13
       
      bonjour,

      voici un exemple qui fonctionne ainsi :

      on a un script en début de page
      puis, sur la même page, on a un formulaire

      un clique sur le bouton du formulaire ouvre une popup

      dans cette popup on choisi une couleur, puis quand on valide (on ferme la fenêtre)

      alors la valeur choisie se place dans la page d'origine (formulaire)




      **************************************************************************************
      ici, le script en début de fichier
      **************************************************************************************
      <script type="text/javascript">
      <!--

      function popup_color_picker(couleur,valeur)
      {
      var width = 400;
      var height = 400;
      window.open('../../color_picker.php?couleur='+couleur+'&valeur='+valeur, 'cp', 'resizable=no, location=no, width='
      +width+', height='+height+', menubar=no, status=yes, scrollbars=no, menubar=no');
      }

      -->
      </script>


      **************************************************************************************
      puis la partie du formulaire qui ouvre le popup pour la selection de couleur
      **************************************************************************************
      <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FF0000">
      <input type="text" name="couleur0" size="7" maxlength="7" value="<? echo $cbody; ?>" style="width:70px;">
      <input type="button" name="body" style="width:60px; height:25px; background-color:<? echo $cbody; ?>; border-color:#000000;">
      <input type="button" value="Modifier la couleur" onclick="popup_color_picker('couleur0','body');">



      **************************************************************************************
      enfin, le popup ou on selectionne la couleur et on l'envoi dans le fichier précédent
      **************************************************************************************

      <?php
      $_couleur = isset($_GET['couleur']) ? $_GET['couleur'] : 0 ;
      $_valeur = isset($_GET['valeur']) ? $_GET['valeur'] : 0 ;
      //echo "couleur = ".$_couleur."<br>";
      //echo "valeur = ".$_valeur."<br>";
      ?>


      <html>
      <head>
      <title>Selectioneur de couleurs</title>
      <style type="text/css">

      body { font-size: 12px; font-family: Verdana, Sans-Serif; text-align:center; background-color:#FFFFFF; color:navy;}
      td { font-size: 12px; font-family: Verdana, Sans-Serif; text-align:center; background-color:#FFFFFF}
      .table_black_border {border-style:solid; border-width:1px; border-color:#000000;}

      </style>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <script type="text/javascript">


      // ici la création du tableau de couleur

      //il manque cette partie

      // pour afficher la couleur finale choisie
      function changeFinalColor(color)
      {
      document.forms['colpick_form'].elements['Bouton_Color_Choose'].style.backgroundColor = color;
      document.forms['colpick_form'].elements['Bouton_Color_Choose'].style.borderColor = color;
      }

      // "renvoyer" la couleur en cliquant sur OK
      function send_color()
      {
      if (window.opener)
      {
      var new_color = document.forms['colpick_form'].elements['Bouton_Color_Choose'].style.backgroundColor;
      exp_rgb = new RegExp("rgb","g");
      if (exp_rgb.test(new_color))
      {
      exp_extract = new RegExp("[0-9]+","g");
      var tab_rgb = new_color.match(exp_extract);

      new_color = '#'+dechex(parseInt(tab_rgb[0]))+dechex(parseInt(tab_rgb[1]))+dechex(parseInt(tab_rgb[2]));
      }
      window.opener.document.forms['opener_form'].elements['<?php echo $_couleur; ?>'].value = new_color;
      window.opener.document.forms['opener_form'].elements['<?php echo $_valeur; ?>'].style.borderColor = new_color;
      window.opener.document.forms['opener_form'].elements['<?php echo $_valeur; ?>'].style.backgroundColor = new_color;

      window.opener.focus();
      window.close();
      }
      }

      window.focus();

      </script>
      </head>

      <body>
      <form name="colpick_form" action="#" method="post">

      <h2>Sélectionnez une couleur</h2>
      <table border="0" cellspacing="0" cellpadding="0" align="center">
      <tr>
      <td>
      <table border="1" cellspacing="0" cellpadding="0" class="table_black_border">
      <tr>
      <td style="padding:0px; border-width:0px; border-style:none;">
      <img id="color_picker" src="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" onclick="compute_color(event)"
      onmousedown="is_mouse_down = true; return false;"
      onmouseup="is_mouse_down = false;"
      onmousemove="if (is_mouse_down && is_mouse_over) compute_color(event); return false;"
      onmouseover="is_mouse_over = true;"
      onmouseout="is_mouse_over = false;"
      style="cursor:crosshair;" /></td>

      </td>
      </tr>
      </table>
      <td style="background-color:#ffffff; width:20px; height:2px; padding:0px;"></td>
      <td>
      <table border="1" cellspacing="0" cellpadding="0" class="table_black_border" style="cursor:crosshair">
      <script type="text/javascript">

      for(i = 0; i < detail; i++)
      {
      document.write('<tr><td id="gs'+i+'" style="background-color:#000000; width:20px; height:3px; border-style:none; border-width:0px;"'
      + ' onclick="changeFinalColor(this.style.backgroundColor)"'
      + ' onmousedown="is_mouse_down = true; return false;"'
      + ' onmouseup="is_mouse_down = false;"'
      + ' onmousemove="if (is_mouse_down && is_mouse_over) changeFinalColor(this.style.backgroundColor); return false;"'
      + ' onmouseover="is_mouse_over = true;"'
      + ' onmouseout="is_mouse_over = false;"'

      + '></td></tr>');
      }

      </script>
      </table>

      </td>
      </tr>
      </table>
      <br>
      <table align="center">
      <tr valign="center">
      <td><input type="button" name="Bouton_Color_Choose" value=" " style="background-color:#000000; border-color:#000000; width:100px; height:35px;"></td>
      </tr><tr>
      <td><input type="button" name="Bouton_Ok" value="Ok" style="width:70px" onclick="send_color();"></td>
      </tr>

      </table>
      </form>

      </body>
      </html>

      **************************************************************************************
      bien sûr, tout ça est à adapter suivant les besoins, et ça marche.
      (vérifié avec IE6 et 7 et FF)

      0
  3. bil404 Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   2
     
    Bonjour,

    Merci pour votre aide ,ca marche trés bien
    0