1

是否可以根据随 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。有什么办法可以做到这一点?

4

2 回答 2

1

假设用户单击的 URL 看起来像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 的方法。

编辑:

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

于 2012-04-27T13:36:35.437 回答
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>

我假设您在谈论 hash location url.html#1111,这只能在 JavaScript 中完成。

于 2012-04-27T13:39:24.620 回答