提交表单操作时更新2个值

时间:2013-06-07 17:45:06

标签: javascript html

我有一个包含多个字段的表单。我喜欢内置于表单中的所有验证,并且禁止使用ajax。

问题在于:我的表单有一个日期选择器和时间选择器。但我必须将这些值作为它们的组合发送,即6/7/2013 05:00:00。

从我所做的研究中,我无法在提交之前停止并连接这些值。

如果不参与太多的诡计,我怎么能这样做?

感谢您提供任何有用的提示!

3 个答案:

答案 0 :(得分: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”,并且输入名为datetimedatetime

var add = document.forms.add;

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

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

答案 1 :(得分:1)

拥有第3个隐藏字段,在日期或时间更新时更新值(日期+时间),并在任意位置使用该值。

答案 2 :(得分:1)

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

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

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