我正在处理此表单:
<form action="index.php" method="get">
<label>Ankomst</label> <input type="text" id="datepicker1" name="p_arr" value="<?php echo date('d/m/Y');?>"/>
<label>Avreise </label><input type="text" id="datepicker2" name="p_dep" value="<?php echo date ('d/m/Y', strtotime(' +1 day'));?>"/>
<label>Personer </label><select name="p_pax">
<option selected="selected" 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>
</select>
<input type="submit" name="submit">
</form>
并且需要从以下位置更改表单提交的参数语法:
http://localhost:8888/booking%20form/index.php?p_arr=31%2F01%2F2019&p_dep=01%2F02%2F2019&p_pax=1
收件人:
localhost:8888/booking%20form/index.php?p_arr=20190131_0000&p_dep=20190201_0000&p_pax=1_1_1
我尝试使用此代码来更改日期语法:
<?php
if(isset ($_GET['submit'])){
$date = date('Ymd_000', strtotime($_POST['date']));
}
?>
这是jQuery代码:
<script>
$( function() {
$( "#datepicker1, #datepicker2" ).datepicker({minDate: "+0"});
});
</script>
如何在提交表单时将语法从('d / m / Y')更改为('Ymd_000),将p_pax更改为1_1_1?
对此有所帮助...
答案 0 :(得分:0)
对于p_pax = 1_1_1:
<select name="p_pax">
<option selected="selected" value="1_1_1">1</option>
<option value="2_2_2">2</option>
...
</select>
有关格式日期:
$(function() {
$("#datepicker1, #datepicker2").datepicker({
minDate: "+0",
dateFormat: "yymmdd'_000'"
});
});
答案 1 :(得分:0)
当您无法编辑HTML代码时,请在发送表单之前更改值。
HTML的更改(添加属性ID):
<form action="index.php" id="form1" method="get">
...
<select id="p_pax" name="p_pax">
...
jQuery脚本:
$(function() {
$("#datepicker1, #datepicker2").datepicker({
minDate: "+0"
});
$("#form1").on( "submit", function() {
$("#datepicker1, #datepicker2").datepicker("option", "dateFormat", "yymmdd'_0000'");
var val = $("#p_pax option:selected").val();
$("#p_pax option:selected").val(val + "_" + val + "_" + val);
});
});
但是当用户关闭JS时,这是一个糟糕的解决方案。