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

时间:2017-09-11 00:36:11

标签: php jquery wordpress woocommerce custom-fields

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

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

感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

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

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

然后使用$_GET获取网址参数:

$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属性,以防止用户/客户编辑产品ID。表单提交后,您可以使用PHP从后端保护它。

答案 1 :(得分:1)

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

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文件中,或者放在任何插件文件中。

  

产品ID和产品sku需要通过以下网址传递:http//www.example.com/booking-page/?id=124&&sku=AH1584

您的<imput>文字字段应该是:

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

因此,对于产品sku类似的东西,您将能够轻松添加......

  

但是由于javascript已经非常活跃在您的“Easy Appointments”预订表格中,我不知道这是否有效。

此答案与:Add custom "Booking" button to WooCommerce Product single pages

有关