有没有使用URL字符串中的数据自动填充HTML表单文本框的方法?

时间:2012-04-27 13:32:51

标签: php javascript jquery html url

是否可以根据传入URL的字符串自动填充页面上的文本框。例如:

说我们有以下形式:

<form name="form_reservation" id="form-reservation">
                    <div style="padding:10px 20px 10px 10px;">
                    <label for="reservation-id">Reservation ID</label>
                        <input name="reservation_id" id="reservation-id" class="reservationid" style="width:120px !important"/>
                        <div style="padding:5px 20px 0px 10px;" class="res_message" id="res-message">&nbsp;</div>
                        <input type="submit" class="button" value="Search Reservation" name="search_button" style="width:150px !important; margin:10px 0px 0px 5px;"/>
                        <input type="button" class="button" value="Clear" style="width:150px !important; margin:10px 0px 0px 5px;" onclick="resetForms('reservation')" />
                    </div>
                </form>

用户收到了一封电子邮件,其中包含链接:www.website.com/formpage.html######

其中######是我想在表单上的reservation-id字段中填充的ID。有没有办法实现这一目标?

2 个答案:

答案 0 :(得分:1)

假设用户点击的网址类似于www.website.com/formpage.html?id=12345,您可以使用GET将其吐出到输入“值”字段中,例如:

<input value="<?php echo htmlspecialchars($_GET["id"]); ?>" name="reservation_id" id="reservation-id" class="reservationid" style="width:120px !important" />

这是使用php进行此操作的方法。

编辑:

Per @ Esailija的评论,我把它包装在htmlspecialchars函数中,据我所知,这将有助于防范XSS攻击。

答案 1 :(得分:0)

使用Javascript:

<script>
    var hash = window.location.hash.replace('#', ''); // get hash and replace the '#' (hash) tag
    document.getElementById('reservation-id').value = hash; // add value to input
</script>

我假设你在谈论哈希位置url.html#1111,这只能在JavaScript中完成。