4

我有这个登陆页面,我需要在提交后预先填充表单值。基本上最后我必须使网址看起来像这样......

http://example.com/r.php?sid=xx&pub=xxxxx&c1=&c2=&c3=&append=1&firstname=Test&lastname=Smith&address=2211+Commerce+St.&city=Dallas&state=TX&zipcode=75080&email=test@test.com

我现在所拥有的表格是......

<form name="regForm" method="get" action="http://example.com/r.php?sid=xx&pub=xxxx&c1=&c2=&c3=&append=1">
    <input id="firstname" class="text" type="text" name="firstname"/><br>
    <input id="lastname" class="text" type="text" name="lastname" /><br>
    <input id="email" class="text" type="text"  name="email" /><br>
    <input id="address" class="text" type="text" /><br>
    <input id="city" class="text" type="text"/><br>
    <input id="zipcode" class="text" type="text" maxlength="5" name="zipcode" /><br>
    <input type="submit" value="Send Me My FREE List" id="submitBtn2"/>
</form>

提交表单后,如何在上面创建该 URL?我整天为此绞尽脑汁,无法弄清楚,我觉得我很接近。

谢谢您的帮助!

4

3 回答 3

7

将额外的参数包含为隐藏的表单字段,而不是内联查询参数:

<form name="regForm" method="get" action="http://example.com/r.php">
    <input type="hidden" name="sid" value="xx" />
    <input type="hidden" name="pub" value="xxxx" />
    <input type="hidden" name="c1" value="" />
    <input type="hidden" name="c2" value="" />
    <input type="hidden" name="c3" value="" />
    <input type="hidden" name="append" value="1" />

    <input id="firstname" class="text" type="text" name="firstname"/><br>
    <input id="lastname" class="text" type="text" name="lastname" /><br>
    <input id="email" class="text" type="text"  name="email" /><br>
    <input id="address" class="text" type="text" /><br>
    <input id="city" class="text" type="text"/><br>
    <input id="zipcode" class="text" type="text" maxlength="5" name="zipcode" /><br>
    <input type="submit" value="Send Me My FREE List" id="submitBtn2"/>
</form>
于 2012-06-13T22:32:55.647 回答
1

问题是输入字段获取变量导致您的 url 获取变量被截断,将所有 url 参数作为隐藏值。

<input id="pub" type="hidden" name="pub" value=""/>
<input id="sid" type="hidden" name="sid" value=""/>
于 2012-06-13T22:33:11.203 回答
0

我假设您喜欢它生成的 URL,只是您缺少 sid、pub、c1、c2、c3 和 append 变量。如果是这样,只需像这样进行隐藏输入:

<form id="regForm" ...>
  <input id="sid" name="sid" value="" type="hidden" />
  <input id="pub" name="pub" value="" type="hidden" />
  ...
</form>

如果您在创建表单时知道这些值,那么您可以在服务器端进行。如果你不这样做,那么假设你使用的是 jQuery,你将不得不做这样的事情:

$(function() {
  $('#regForm').submit(function () {
    $('#sid').val('myNewSidValue');
    $('#pub').val('myNewPubValue');
    ...
  });
});
于 2012-06-13T22:35:11.460 回答