Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 尝试将URL参数传递给输入字段(而不是表单字段)_Html_Forms_Url_Input - Fatal编程技术网

Html 尝试将URL参数传递给输入字段(而不是表单字段)

Html 尝试将URL参数传递给输入字段(而不是表单字段),html,forms,url,input,Html,Forms,Url,Input,我已经花了一些时间来研究这个问题,无论是在这里还是通过谷歌。然而,我没有找到任何能帮助我的东西。以下是场景: 我有一个网页(MP),在那里我把人们发送到我的一个附属机构(AP)。他们正确填写AP上的字段是非常重要的,否则我将无法获得积分。因此,我希望我的附属链接(AL)包括参数,以传递给AP上的表单。然而,问题是AP上的“表单”实际上不是表单,而是输入字段的组合。以下是AP的一个片段(请记住,我无法编辑此代码): *必需 附属机构ID 您的电子邮件地址 我的问题是,我是否能够通过从MP传递u

我已经花了一些时间来研究这个问题,无论是在这里还是通过谷歌。然而,我没有找到任何能帮助我的东西。以下是场景:

我有一个网页(MP),在那里我把人们发送到我的一个附属机构(AP)。他们正确填写AP上的字段是非常重要的,否则我将无法获得积分。因此,我希望我的附属链接(AL)包括参数,以传递给AP上的表单。然而,问题是AP上的“表单”实际上不是表单,而是输入字段的组合。以下是AP的一个片段(请记住,我无法编辑此代码):


*必需

附属机构ID 您的电子邮件地址
我的问题是,我是否能够通过从MP传递url中的值来寻址和“预填充”字段#affiliateID和#txtEmail?我也尝试过使用:和其他东西,但我根本无法将其设置为“prefill”。这是否只有在AP使用传统HTML表单时才可能实现,或者我是否能够以某种方式将其包含在链接URL中,以便AP识别出我想要将值传递给其页面上的某个字段?我在想可能有一种方法可以在URL中寻址输入的ID

希望有人能帮我


提前感谢。

即使您的输入字段不是表单元素的一部分,也可以这样做。下面是一个设置
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

无论是否使用表单,您仍然需要使用JavaScript将值设置为输入。。。你的http服务器是什么?但这是不可能的-正如我在帖子中提到的,我没有访问附属页面代码的权限,因此我不能使用任何脚本来完成它。问题是关于通过URL传递所需输入的可能性。这是我唯一的选择。@NikolajLandrock好吧,我没听清楚。那么答案是否定的。使用URL参数,强制表单字段具有特定值是不可能的。这将是一个巨大的安全风险。然而,这种页面的设计方式通常是通过查询字符串接受参数。谢谢您的回答。这正是我想要的答案。:)我将不得不接触到附属公司,并要求他添加的可能性。关于安全风险,我认为当您传递非敏感信息时,安全风险并没有那么大。如果是密码、银行账户信息等,那么我想你是绝对正确的!再次感谢你直截了当的回答!
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");