我在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格式阅读日期
有人可以帮忙吗?
答案 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,但我很确定它的正确