将同一页面上文本框中的数据打印成正确格式的隐藏字段

时间:2013-09-05 14:37:59

标签: php forms get

我在ubercart有结帐表格。为了让我在管理部分显示日历,我需要能够检索用户在完成结账时选择的游戏日期。

此日历将显示在视图中,但webform结帐额外字段不兼容。

作为一个简单的修复,我添加了一个在视图中兼容的额外字段,但我无法为此字段指定一个日期选择器。

我的问题是,我可以保留原始字段,但是当他们在页面顶部输入日期时,页面底部的隐藏字段也会输入日期吗?

以下是页面顶部日期选择器的代码,它是三个选择框和一个日历链接。

<select class="month form-select" id="edit-panes-webform-nid5-0-date-month" name="panes[webform_nid5][0][date][month]"><option value="" selected="selected">Month</option><option value="1">Jan</option><option value="2">Feb</option><option value="3">Mar</option><option value="4">Apr</option><option value="5">May</option><option value="6">Jun</option><option value="7">Jul</option><option value="8">Aug</option><option value="9">Sep</option><option value="10">Oct</option><option value="11">Nov</option><option value="12">Dec</option></select>

<select class="day form-select" id="edit-panes-webform-nid5-0-date-day" name="panes[webform_nid5][0][date][day]"><option value="" selected="selected">Day</option><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option><option value="21">21</option><option value="22">22</option><option value="23">23</option><option value="24">24</option><option value="25">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option><option value="29">29</option><option value="30">30</option><option value="31">31</option></select>

<select class="year form-select" id="edit-panes-webform-nid5-0-date-year" name="panes[webform_nid5][0][date][year]"><option value="" selected="selected">Year</option><option value="2013">2013</option><option value="2014">2014</option><option value="2015">2015</option></select>

<input type="image" src="/sites/all/modules/webform/images/calendar.png" class="webform-calendar webform-calendar-start-2013-09-06 webform-calendar-end-2015-09-05 webform-calendar-day-1 hasDatepicker" alt="Open popup calendar" title="Open popup calendar" id="dp1378391293298">

对于底部隐藏日期值框,我可以输入php代码段。

我不认为有一种简单的方法可以在完成后立即打印三个选择框的值?

我尝试了类似......

<?php
  $get_month = $_POST['panes[webform_nid5][0][date][month]'];
  print($get_month);
  $get_day = $_POST['panes[webform_nid5][0][date][day]'];
  print($get_day);
  $get_year = $_POST['panes[webform_nid5][0][date][year]'];
  print($get_year);
?>

但那不起作用,我需要以DD-MM-YY格式阅读日期

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

<强> EDITED 正如您在页面上可以使用jquery一样,这会使事情变得更加简单

<script>
  function changeDate() 
  {
    var $ = jQuery; //for some reason $ is not already defined as jQuery
    var date = $('select#edit-panes-webform-nid5-0-date-month').val() 
    + '-' 
    + $('select#edit-panes-webform-nid5-0-date-day').val() 
    + '-' 
    + $('select#edit-panes-webform-nid5-0-date-year').val();

    $('input#edit-panes-billing-address-billing-ucxf-date-of-game').val(date);
  }
</script>

我已经在你的页面上尝试了这个并且它在使用选择框时起作用,但是在没有编辑jquery日期选择器的情况下没有来自弹出式压缩器,它取决于许可证允许你用它做什么

这假设您的隐藏日期框是div或span而不是输入,如果是输入更改行

document.getElementById("hidden-date-box-id").innerHtml = month + '-' + day + '-' + year;

document.getElementById("hidden-date-box-id").value = month + '-' + day + '-' + year;

<script>
  function changeDate() 
  {
    var month = document.getElementById("edit-panes-webform-nid5-0-date-month").value;
    var day   = document.getElementById("edit-panes-webform-nid5-0-date-day").value;
    var year  = document.getElementById("edit-panes-webform-nid5-0-date-year").value;

    document.getElementById("hidden-date-box-id").innerHtml = month + '-' + day + '-' + year;
  }
</script>

然后将<{1}}添加到您选择的每个

这是未经测试的代码,我很少使用纯JavaScript,但我很确定它的正确