【问题标题】:Trying to pass URL parameters to input fields (NOT form fields)尝试将 URL 参数传递给输入字段(不是表单字段)
【发布时间】:2014-04-08 16:26:23
【问题描述】:

我已经用了一些时间来研究这个,无论是在 SO 上还是通过 Google。但是,我找不到任何可以帮助我的东西。这是场景:

我有一个页面 (MP),我可以将人们发送到我的附属公司 (AP)。他们正确填写 AP 上的字段非常重要,否则我将不会获得学分。因此,我希望我的附属链接 (AL) 包含要传递到 AP 上的表单的参数。然而问题在于,AP 上的“表格”实际上并不是一个表格,而是输入字段的组合。这是来自 AP 的 sn-p(记住我无法编辑此代码):

<tbody class="original">
<tr><td colspan="3"><p><strong>* required</strong></p></td></tr>
<tr>
<th width="180"><label for="affiliateID">Affiliate ID</label></th>
<td width="250"><div class="text"><input id="affiliateID" name="affID" class="text"></div></td>
</tr>
<tr>
<th width="180"><label for="txtEmail">Your e-mail address</label></th>
<td width="250"><div class="text"><input id="txtEmail" name="email" class="text"></div></td>
</tr>
<tr>
<td colspan="3">
<input id="submitInfo" class="submit" type="submit" value="Sign-up">
</td>
</tr>
</tbody>

我的问题是,我能否通过从 MP 传递我的 url 中的值来处理和“预填充”字段 #affiliateID 和 #txtEmail?我也尝试过使用:http://www.APURL.com?affiliateID=AF54728 和其他东西,但我根本无法让它“预填充”。是否只有在 AP 使用传统 HTML 表单时才可以这样做,或者我是否能够以某种方式将其包含在链接 URL 中,以便 AP 认识到我想将值传递给他页面上的某个字段?我在想可能有一种方法可以解决 URL 中输入的 ID。

希望有人可以帮助我。

提前致谢。

【问题讨论】:

  • 无论是否使用表单,您仍然需要使用 JavaScript 将值设置为输入...您的 http 服务器是什么?

标签: html forms url input


【解决方案1】:

即使您的输入字段不是表单元素的一部分,这也是可能的。这是一个设置 affiliateID 字段值的工作示例。

function getQuerystring(key, default_)
{
  if (default_==null) default_=""; 
  key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
  var qs = regex.exec(window.location.href);
  if(qs == null)
    return default_;
  else
    return unescape(qs[1]);
}
var inp = document.getElementById("affiliateID");
inp.value = getQuerystring("affiliateID", "no ID given");

更新:

我误解了这个问题。这不是您正在谈论的网站,您想知道是否可以使用 URL 参数更改表单值。这是不可能的。然而,常见的是这样的页面被设计成通过查询字符串接受参数。您应该询问网站所有者并询问他是否可以通过 URL 以某种方式传递会员 ID。

【讨论】:

  • 但这是不可能的——正如我的帖子中提到的,我无权访问附属页面代码,因此我无法使用任何脚本来执行此操作。问题是关于通过 URL 传递所需输入的可能性。这是我唯一的选择。
  • @NikolajLandrock 好的,我没听懂。那么答案是否。 不可能使用 URL 参数来强制表单字段具有某些值。这将是一个巨大的安全风险。然而,常见的情况是这样的页面被设计成通过查询字符串接受参数。
  • 感谢您的回答。这正是我正在寻找的答案。 :) 我将不得不联系会员并要求他添加可能性。关于安全风险,当您传递非敏感信息时,我认为它并没有那么大。如果是密码、银行账户信息等,那我猜你是绝对正确的!再次感谢您的直接回答!
猜你喜欢
  • 1970-01-01
  • 2012-06-16
  • 1970-01-01
  • 1970-01-01
  • 2012-11-04
  • 2012-05-21
  • 2014-10-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多