根据 $_POST 值填充字段


Populate field depending on $_POST value

我正在寻求有关我正在尝试填充的表单的帮助。

我通常会使用 onChange() 函数,但我认为这不是一个选项。

基本上,我有一个带有几个隐藏值的<form>和一个提交按钮。点击提交时,它会定向到预订页面,其中 $_POST 值填充了几个字段。

<form method="post" action="book.php">
    <input type="hidden" name="title" value="Cardio Fitness">
    <input type="hidden" name="courseID" value="CF">
    <input type="hidden" name="day" value="Wednesday">
    <input type="hidden" name="time" value="9:00pm">
    <input type="submit" Value="Wednesday - 9:00pm">
</form>

这本书.php看起来像:

<h2><?php echo $_POST['title'];?></h2>
<form id="booking" onSubmit="return check_book()" method="post" action="#">
    <!-- Course Name -->
    <input type="hidden" name="courseID" id="cID" value="<?php echo $_POST['courseID'];?>"/>
    <!-- Course Day -->
    <input type="text" name="day" id="day" value="<?php echo $_POST['day'];?>" readonly/>
    <!-- Course Time -->
    <input type="text" name="time" id="time" value="<?php echo $_POST['time'];?>" readonly/>
    <!-- Adult Spots -->
    <select name="as" class="1-10">
        <option value="" disabled selected>Adult</option>
    </select>
    <input type="text" class="as_price" readonly/>
    <!-- Child Spots -->
    <select name="cs" class="1-10">
        <option value="" disabled selected>Child</option>
    </select>
    <input type="text" class="cs_price" readonly/>
    <!--Submit Button -->
    <input type="submit" value="Add to Cart"/>
</form>

填充 .as_price 和 .cs_price 字段的最佳方法是什么,具体取决于 $_POST 值?.JS?

我完全不合时宜吗?

干杯

是的,如果在更改其他表单字段时这些值动态更改,则必须使用 JS。PHP 是一种服务器端脚本语言。如果需要,可以使用 AJAX 从服务器检索数据。

您的意思是(在提交表单之后和加载其他页面之前)?

然后使用<?php并花时间使用您的价格逻辑进行计算。(一次性计算)。例:

<!-- Adult Spots -->
<select name="as" class="1-10">
    <option value="" disabled selected>Adult</option>
</select>
<?php
// Do a db connection if you want to
// Calculate the price using your logic
$final_price = "$".(10*10); // just an example resulting $100
?>
<input type="text" class="as_price" value="<?php echo $final_price;?>" readonly/>

但是,在将页面提供给客户端之后,请忘记 PHP,它不是更改任何内容的选项。使用 AJAX 在选择更改时向price-checking-file.php发送请求,并相应地更新价格。