更改表单提交中的参数语法

时间:2019-01-31 15:30:43

标签: php forms date parameters

我正在处理此表单:

<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?

对此有所帮助...

2 个答案:

答案 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时,这是一个糟糕的解决方案。