从 URL 个参数自动填充输入表单字段

Auto-populate input form field from URL parameters

我在 woocommerce 页面 (http://.../product/abcd/) 上有一个按钮,它有一个按钮 "Book Appointments Now" 链接到另一个页面,其中包含要提交的表单字段 (http://.../booking-appointments/?id=1238&sku=1),其中有 [=上一页该产品的 URL 上的 13=] 和 SKU

我希望它在每次从 URL 参数加载此页面时自动填充 ProductID 字段。

感谢任何帮助。

您可以在URL中传递产品ID和SKU,然后通过$_GET获取。然后将其加载到输入字段中。这是一个例子:

http://www.example.com/?product-id=123&sku=abcd456

然后用$_GET得到URL参数:

$productId = $_GET['product-id'];
$sku = $_GET['sku'];

您的输入字段将是这样的:

<label for="product-id">Product ID:</label> <input type="text" name="product-id" id="product-id" value="<?php echo $productId; ?>" disabled>

我什至添加了一个 disabled 属性来防止 user/customer 编辑产品 ID。当提交表单时,您可以使用 PHP 从后端保护它。

要在您的预订表格(页面)中自动填充产品 ID 和产品 SKU,您应该试试这个 (没有任何保证,因为它可以在您的页面表格上进行真实测试):

add_action( 'wp_footer', 'autopopulate_product_id_script' );
function autopopulate_product_id_script() {
    if( isset( $_GET['id'] ) ):
        ?>
        <script type="text/javascript">
        (function($){
            $('input[name="productid"]').val("<?php echo $_GET['id']; ?>");
            $('input[name="productsku"]').val("<?php echo $_GET['sku']; ?>");
        })(jQuery);
        </script>
        <?php
    endif;
}

代码进入您的活动子主题(或主题)的 function.php 文件或任何插件文件。

The product id and the product sku need to be passed in url something like: http//www.example.com/booking-page/?id=124&&sku=AH1584

你的 <imput> 文本字段应该是这样的:

<input type="text" name="productid" val="">
<input type="text" name="productsku" val="">

所以对于产品 sku 是类似的东西,你将能够轻松添加…

But as javascript is already very active in you "Easy Appointments" booking form, I don't know if this will work.


这个答案是相关的: