我有一个功能需要选择日期并将其显示在链接中(按下按钮提交后),如下所示
?date_from=2018-09-18&date_to=2018-10-09
但问题出在输入中,我必须选择日期格式,例如 18-Sep-2018,所以我必须将此 18-Sep-2018
格式化为 2018-10- 18
,但仍然必须在输入中显示为 18-Sep-2018
。
这是代码
<form class="rates">
<div class="date-range date-range-main">
@include('components/input_date', [
'name' => 'date_from',
'inline' => TRUE,
'value' => $date_range->get_start(),
'label' => ''
])
-
@include('components/input_date', [
'name' => 'date_to',
'inline' => TRUE,
'value' => $date_range->get_end(),
'label' => ''
])
</div>
<button class="btn btn-primary" type="submit">
{{uctrans('labels.search')}}
</button>
</form>
所以现在当我运行这个函数时链接就像
?date_from=30+Oct+2018&date_to=20+Nov+2018
它需要像
?date_from=2018-11-20&date_to=2018-12-11
最佳答案
在这里你可以做这样的事情。
$(document).on('submit', '.rates', function(e) {
e.preventDefault;
var form = $(document.createElement('form'));
$(form).attr("action", "");
var dt1 = new Date($('input[name="date_from"]').val());
var dt2 = new Date($('input[name="date_from"]').val());
var input1 = $("<input>").attr("type", "hidden").attr("name", "date_from").val(dt1.getFullYear() + "-" + (dt1.getMonth() + 1) + "-" + dt1.getDate());
var input2 = $("<input>").attr("type", "hidden").attr("name", "date_to").val(dt2.getFullYear() + "-" + (dt2.getMonth() + 1) + "-" + dt2.getDate());
$(form).append($(input1));
$(form).append($(input2));
form.appendTo( document.body );
$(form).submit();
return false;
});
在 jquery 中,我们可以创建一个隐藏表单并格式化输入并提交新表单。
关于javascript - jQuery 更改日期格式表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52734371/