2

我试图让用户选择使用 HTML5 日期输入来通过移动网络调用本机日期选择器。由于无论用户设备是否支持 HTML5,我都不想重复调用相同的方法,因此我计划只向可以使用它的人显示 type="date" 输入。我想从提交的日期输入中获取值并将其传递给三个定义的值。基本上,当用户点击提交时,它会将日期分解为月、日和年,并将它们添加到表单处理器期望接收的字段中。

根据我找到的样本,我有类似的东西,但它不起作用:

$(document).ready(function() {
$('#submit').click(function(){
var dateVal = $('#dateCL').val()
var dateLength = dateVal.length;
var dateSplit = dateVal.split('\/');
var dateMonthLength = dateSplit['\/'].length + 0;
var monthCL = dateVal.slice(monthCLLength);
var dayCL = dateVal.slice(dayCLLength);
var yearCL = dateVal.slice(yearCLLength);
$('#dateCL').val(dateSplit[0]);
$('#month').val(monthCL);
$('#day').val(yearCL);
$('#year').val(monthCL);
return false;
});
});

<form action="mailto:me@me.com">
  <input name="name" id="name" type="text">
  <input name="first_name" id="first_name" type="text"/>
  <input name="last_name" id="last_name" type="text"/>
  <input type="submit" id="submit">
</form>
<form action="mailto:me@me.com">
  <input name="dateCL" id="dateCL" type="date" min="1909" max="2009">
  <input name="monthCL" id="monthCL" type="hidden"/>
  <input name="dayCL" id="dayCL" type="hidden"/>
  <input name="yearCL" id="yearCL" type="hidden"/>

  <input type="submit" id="submit">
</form>

http://jsfiddle.net/7xK53/5/

4

1 回答 1

1

当我在本地或我的网络服务器上运行它时,这似乎在没有 jQuery 的情况下在 Chrome 上工作,但是当我在小提琴上尝试它时它失败了:

function PassTheMic(){
document.getElementById('myField1').value = document.getElementById('myFieldx').value;

}


</script>

<form method="post" action="mailto:me@me.com">
<input type="date" id="myFieldx" value="" name="myFieldx" onBlur="PassTheMic()" min="2012-01-01" max="2013-01-01"/>
<input type="hidden" id="myField1" value="" name="myField1" />
<input type="submit" value="submit" name="submit">
</form>
于 2013-06-12T21:31:29.617 回答