Php input text

Bonjour,

j'ai crée une zone de text ou l'on note la date

ce que je souhaiterais c'est pourvoir ajouter un logo fixe à droite du cadre qui serait dans le cadre ou l'on écrit habituellement

comme sur ce site
https://www.opodo.fr/

vol aller la date écrite et une tite image dans le champs d insertion

mon champs est de ce type :

<input onclick="ds_sh(this);" name="fdate" readonly="readonly" style="cursor: text" />

Merci pour votre aide
Configuration: Change en permanence

13 réponses

  1. Contributeur
    Tu peux faire ça en Javascript :

    document.getElementById('id_de_ton_input_vide').value = document.getElementById('id_de_ton_input_non_vide').value;

    1. Un peu de CSS là dessus:
      input {
      background:url(images/fond.gif) right center no-repeat;
      }
      1. ouaa merci le souci est que tout mes bouton et champs son en input

        comment sélectionner que ceux que je veux ?
        1. Contributeur
          Tu leur met un attribut class="bouton_date"
          et dans ton css tu le récupère avec
          .bouton_date{
          ...
          }

          ou alors un attribut id="bouton_date"
          et dans ton css tu le récupères avec
          #bouton_date{
          ...
          }
          1. a oui sa marche trop bien merci

            et par hazard tu sais comment un input text peut prendre la même valeur qu'un autre input test
            1. Désolé mais je découvre le java depuis hier soir

              ou dois je mettre tes lignes dans :

              <body>
              From:
              <input class="Idat" onclick="ds_sh(this);" name="ddate" readonly="readonly" style="cursor: text" />

              To:
              <input onclick="ds_sh(this);" name="fdate" readonly="readonly" style="cursor: text" class="Idat"/>
              </body>
              1. Contributeur
                <head>
                <script type="text/javascript">
                function ds_sh(id1, id2) {
                document.getElementById('id2).value = document.getElementById('id1').value;
                }
                </script>
                </head>
                <body>
                From:
                <input class="Idat" id="from" onclick="ds_sh('from', 'to');" name="ddate" readonly="readonly" style="cursor: text" />

                To:
                <input onclick="ds_sh('from', 'to');" id="to" name="fdate" readonly="readonly" style="cursor: text" class="Idat"/>
                </body>

                remplace ton bout de code par celui-ci, ça devrait fonctionner en cliquant sur n'importe lequel des deux champ texte ça va transférer la valeur du 1er dans le 2ème
                1. sa ne fonctionne pas sniff

                  je souhaiterais juste que le input 2 prenne la valeur du 1 par default mais qui reste modifiable par le calendrier attribuer a l'input 2

                  est ce possible ?
                  1. Contributeur
                    J'avais pas testé ce que je t'ai proposé, il y avait des erreurs.

                    Voici une page qui fonctionne, c'est pas ce que tu veux faire?

                    <html>
                    <head>
                    <title>Test</title>
                    <script type="text/javascript">
                    function ds_sh(id1, id2) {
                    if ( document.getElementById(id1).value != "" ) {
                    document.getElementById(id2).value = document.getElementById(id1).value;
                    }
                    }
                    </script>
                    </head>
                    <body>
                    From:
                    <input class="Idat" id="from" onclick="ds_sh('from', 'to');" name="ddate" readonly="readonly" style="cursor: text" value="test" />

                    To:
                    <input onclick="ds_sh('from', 'to');" id="to" name="fdate" style="cursor: text" class="Idat"/>
                    </body>
                    </html>
                    1. non sa ne fonctionne pas

                      car quand je clic sur mon input départ j'ai une extension qui apparait un calendrier pour sélectionné une date

                      et je voudrais qu une fois sélectionné

                      l'input de fin est par défaut la même date que celui de l input debart

                      cependant qui reste modifiable

                      tu crois que cela est faisable ??
                      1. Contributeur
                        Je ne sais pas comment tu fais pour ton calendrier donc je ne peux pas t'aider plus.

                        Par contre je pense que le code que je t'ai donné doit pouvoir être adapté pour correspondre avec ce que tu veux faire.
                        1. Mon calendrier viens d 'un kit tout fait :

                          <script type="text/javascript">
                          // <!-- <![CDATA[

                          // Project: Dynamic Date Selector (DtTvB) - 2006-03-16
                          // Script featured on JavaScript Kit- http://www.javascriptkit.com
                          // Code begin...
                          // Set the initial date.
                          var ds_i_date = new Date();
                          ds_c_month = ds_i_date.getMonth() + 1;
                          ds_c_year = ds_i_date.getFullYear();

                          // Get Element By Id
                          function ds_getel(id) {
                          return document.getElementById(id);
                          }

                          // Get the left and the top of the element.
                          function ds_getleft(el) {
                          var tmp = el.offsetLeft;
                          el = el.offsetParent
                          while(el) {
                          tmp += el.offsetLeft;
                          el = el.offsetParent;
                          }
                          return tmp;
                          }
                          function ds_gettop(el) {
                          var tmp = el.offsetTop;
                          el = el.offsetParent
                          while(el) {
                          tmp += el.offsetTop;
                          el = el.offsetParent;
                          }
                          return tmp;
                          }

                          // Output Element
                          var ds_oe = ds_getel('ds_calclass');
                          // Container
                          var ds_ce = ds_getel('ds_conclass');

                          // Output Buffering
                          var ds_ob = '';
                          function ds_ob_clean() {
                          ds_ob = '';
                          }
                          function ds_ob_flush() {
                          ds_oe.innerHTML = ds_ob;
                          ds_ob_clean();
                          }
                          function ds_echo(t) {
                          ds_ob += t;
                          }

                          var ds_element; // Text Element...

                          var ds_monthnames = [
                          'January', 'February', 'March', 'April', 'May', 'June',
                          'July', 'August', 'September', 'October', 'November', 'December'
                          ]; // You can translate it for your language.

                          var ds_daynames = [
                          'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'
                          ]; // You can translate it for your language.

                          // Calendar template
                          function ds_template_main_above(t) {
                          return '<table cellpadding="3" cellspacing="1" class="ds_tbl">'
                          + '<tr>'
                          + '<td class="ds_head" style="cursor: pointer" onclick="ds_py();"><<</td>'
                          + '<td class="ds_head" style="cursor: pointer" onclick="ds_pm();"><</td>'
                          + '<td class="ds_head" style="cursor: pointer" onclick="ds_hi();" colspan="3">[Fermer]</td>'
                          + '<td class="ds_head" style="cursor: pointer" onclick="ds_nm();">></td>'
                          + '<td class="ds_head" style="cursor: pointer" onclick="ds_ny();">>></td>'
                          + '</tr>'
                          + '<tr>'
                          + '<td colspan="7" class="ds_head">' + t + '</td>'
                          + '</tr>'
                          + '<tr>';
                          }

                          function ds_template_day_row(t) {
                          return '<td class="ds_subhead">' + t + '</td>';
                          // Define width in CSS, XHTML 1.0 Strict doesn't have width property for it.
                          }

                          function ds_template_new_week() {
                          return '</tr><tr>';
                          }

                          function ds_template_blank_cell(colspan) {
                          return '<td colspan="' + colspan + '"></td>'
                          }

                          function ds_template_day(d, m, y) {
                          return '<td class="ds_cell" onclick="ds_onclick(' + d + ',' + m + ',' + y + ')">' + d + '</td>';
                          // Define width the day row.
                          }

                          function ds_template_main_below() {
                          return '</tr>'
                          + '</table>';
                          }

                          // This one draws calendar...
                          function ds_draw_calendar(m, y) {
                          // First clean the output buffer.
                          ds_ob_clean();
                          // Here we go, do the header
                          ds_echo (ds_template_main_above(ds_monthnames[m - 1] + ' ' + y));
                          for (i = 0; i < 7; i ++) {
                          ds_echo (ds_template_day_row(ds_daynames[i]));
                          }
                          // Make a date object.
                          var ds_dc_date = new Date();
                          ds_dc_date.setMonth(m - 1);
                          ds_dc_date.setFullYear(y);
                          ds_dc_date.setDate(1);
                          if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) {
                          days = 31;
                          } else if (m == 4 || m == 6 || m == 9 || m == 11) {
                          days = 30;
                          } else {
                          days = (y % 4 == 0) ? 29 : 28;
                          }
                          var first_day = ds_dc_date.getDay();
                          var first_loop = 1;
                          // Start the first week
                          ds_echo (ds_template_new_week());
                          // If sunday is not the first day of the month, make a blank cell...
                          if (first_day != 0) {
                          ds_echo (ds_template_blank_cell(first_day));
                          }
                          var j = first_day;
                          for (i = 0; i < days; i ++) {
                          // Today is sunday, make a new week.
                          // If this sunday is the first day of the month,
                          // we've made a new row for you already.
                          if (j == 0 && !first_loop) {
                          // New week!!
                          ds_echo (ds_template_new_week());
                          }
                          // Make a row of that day!
                          ds_echo (ds_template_day(i + 1, m, y));
                          // This is not first loop anymore...
                          first_loop = 0;
                          // What is the next day?
                          j ++;
                          j %= 7;
                          }
                          // Do the footer
                          ds_echo (ds_template_main_below());
                          // And let's display..
                          ds_ob_flush();
                          // Scroll it into view.
                          ds_ce.scrollIntoView();
                          }

                          // A function to show the calendar.
                          // When user click on the date, it will set the content of t.
                          function ds_sh(t) {
                          // Set the element to set...
                          ds_element = t;
                          // Make a new date, and set the current month and year.
                          var ds_sh_date = new Date();
                          ds_c_month = ds_sh_date.getMonth() + 1;
                          ds_c_year = ds_sh_date.getFullYear();
                          // Draw the calendar
                          ds_draw_calendar(ds_c_month, ds_c_year);
                          // To change the position properly, we must show it first.
                          ds_ce.style.display = '';
                          // Move the calendar container!
                          the_left = ds_getleft(t);
                          the_top = ds_gettop(t) + t.offsetHeight;
                          ds_ce.style.left = the_left + 'px';
                          ds_ce.style.top = the_top + 'px';
                          // Scroll it into view.
                          ds_ce.scrollIntoView();
                          }

                          // Hide the calendar.
                          function ds_hi() {
                          ds_ce.style.display = 'none';
                          }

                          // Moves to the next month...
                          function ds_nm() {
                          // Increase the current month.
                          ds_c_month ++;
                          // We have passed December, let's go to the next year.
                          // Increase the current year, and set the current month to January.
                          if (ds_c_month > 12) {
                          ds_c_month = 1;
                          ds_c_year++;
                          }
                          // Redraw the calendar.
                          ds_draw_calendar(ds_c_month, ds_c_year);
                          }

                          // Moves to the previous month...
                          function ds_pm() {
                          ds_c_month = ds_c_month - 1; // Can't use dash-dash here, it will make the page invalid.
                          // We have passed January, let's go back to the previous year.
                          // Decrease the current year, and set the current month to December.
                          if (ds_c_month < 1) {
                          ds_c_month = 12;
                          ds_c_year = ds_c_year - 1; // Can't use dash-dash here, it will make the page invalid.
                          }
                          // Redraw the calendar.
                          ds_draw_calendar(ds_c_month, ds_c_year);
                          }

                          // Moves to the next year...
                          function ds_ny() {
                          // Increase the current year.
                          ds_c_year++;
                          // Redraw the calendar.
                          ds_draw_calendar(ds_c_month, ds_c_year);
                          }

                          // Moves to the previous year...
                          function ds_py() {
                          // Decrease the current year.
                          ds_c_year = ds_c_year - 1; // Can't use dash-dash here, it will make the page invalid.
                          // Redraw the calendar.
                          ds_draw_calendar(ds_c_month, ds_c_year);
                          }

                          // Format the date to output.
                          function ds_format_date(d, m, y) {
                          // 2 digits month.
                          m2 = '00' + m;
                          m2 = m2.substr(m2.length - 2);
                          // 2 digits day.
                          d2 = '00' + d;
                          d2 = d2.substr(d2.length - 2);
                          // YYYY-MM-DD
                          return y + '-' + m2 + '-' + d2;
                          }

                          // When the user clicks the day.
                          function ds_onclick(d, m, y) {
                          // Hide the calendar.
                          ds_hi();
                          // Set the value of it, if we can.
                          if (typeof(ds_element.value) != 'undefined') {
                          ds_element.value = ds_format_date(d, m, y);
                          // Maybe we want to set the HTML in it.
                          } else if (typeof(ds_element.innerHTML) != 'undefined') {
                          ds_element.innerHTML = ds_format_date(d, m, y);
                          // I don't know how should we display it, just alert it to user.
                          } else {
                          alert (ds_format_date(d, m, y));
                          }
                          }

                          // And here is the end.

                          // ]]> -->
                          </script>

                          il est simple d'utilisation

                          dans mon input voila ce qui est présent

                          <input class="Idat" onclick="ds_sh(this);" name="ddate" readonly="readonly" style="cursor: text" />

                          et je voudrais qu'il set la date du jour dans le premier

                          et dans le second input

                          <input class="Idat" onclick="ds_sh(this);" name="fdate" readonly="readonly" style="cursor: text" />

                          la copie de la date du premier input

                          par contre je souhaiterais conservé la possibilité de modifié la date dans le premier et second input

                          Exemple :

                          ouverture de la page

                          input 1 = 2009-08-10
                          input 2 = 2009-08-10

                          je change mon input 1

                          input 1 = 2009-07-01
                          input 2 = 2009-07-01

                          je change mon input 2

                          input 1 = 2009-07-01
                          input 2 = 2009-08-08

                          Tu vois ou je veu en venir ?