我已经花了一些时间研究这个问题,无论是在SO还是通过谷歌。但是我找不到任何可以帮助我的东西。这是场景:
我有一个页面(MP),我将人们发送给我的联盟会员(AP)。他们正确地填写AP上的字段非常重要,否则我不会得到记入。因此,我希望我的会员链接(AL)包含传递给AP上的表单的参数。然而,问题在于"形式"在AP上实际上不是表单,而是输入字段的组合。这是AP的一个片段(请记住我无法编辑此代码):
<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>
我的问题是,我能否解决并预先填写&#34;字段#affiliateID和#txtEmail通过从MP传递我的网址中的值?我曾试图使用:http://www.APURL.com?affiliateID=AF54728和其他东西,但我根本无法将其用于&#34; prefill&#34;。如果AP使用的是传统的HTML表单,或者我能以某种方式将其包含在链接URL中,那么这是唯一可行的吗?因此AP认识到我想将值传递给他页面上的某个字段?我当时认为可能有办法解决URL中输入的ID。
希望有人可以帮助我。
提前致谢。
答案 0 :(得分:0)
即使输入字段不是表单元素的一部分,也可以这样做。以下是设置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。