0

I have a form with several fields. I enjoy all the validation built into a form, and I am forbidden from using ajax.

Here is the issue: My form has a date picker and time selector. But I have to send the values as a combination of them, i.e. 6/7/2013 05:00:00.

From the research I've done, I can't stop and concatenate those values before submitting.

How can I do this without getting involved in too much trickery?

Thanks for any helpful tips!

4

3 回答 3

2

您可以使用隐藏元素,在本例中我们将使用它。

<input type="hidden" name="datetime" value=""/>

如果在表单上触发了提交事件,请运行它。

$('form').on('submit', function(){
  var $form = $(this);
  $form.find('[name=datetime]').val( 
    $form.find('[name=date]').val() + ' ' + $form.find('[name=time]').val()
  );
});

编辑

我刚刚意识到这没有被标记为 jQuery,所以这是我对 vanilla javascript 的最佳尝试,假设字段名称是“add”并且输入名为datetime,datetime.

var add = document.forms.add;

add.onsubmit = function(e){
  add.datetime.value = add.date.value + ' ' + add.time.value;
}

不过,这绝对应该在服务器端处理。

于 2013-06-07T17:50:10.557 回答
1

你可以使用 jQuery UI Datetimepicker 插件。它将帮助您在单个字段中捕获日期和时间。请参考。

$('#selectedDateTimeWithFormat').datetimepicker({ dateFormat: 'dd-mm-yy', timeFormat: 'hh:mm:ss' });

http://timjames.me/jquery-ui-datetimepicker-plugin

于 2013-06-07T18:08:43.470 回答
1

有一个第三个隐藏字段,在日期或时间更改时更新值(日期+时间),并在您想要的任何地方使用该值。

于 2013-06-07T17:50:50.233 回答