Javascript 是否可以更新隐藏的表单字段';通过检索iframe';什么是源参数? /*源参数*/ 函数GetURLParameter(sParam) { var sPageURL=window.location.search.substring(1); var sURLVariables=sPageURL.split('&'); 对于(变量i=0;i
以前,当我直接在网站的HTML页面中硬编码表单代码时,我使用上述代码。上面的代码很容易从地址栏检查url参数,并将externalsrc的值指定给表单字段的值。现在,我创建了一个可移植的iframe小部件,可以在外部其他地方使用。我想从iframe的extsrc参数中更新Javascript 是否可以更新隐藏的表单字段';通过检索iframe';什么是源参数? /*源参数*/ 函数GetURLParameter(sParam) { var sPageURL=window.location.search.substring(1); var sURLVariables=sPageURL.split('&'); 对于(变量i=0;i,javascript,jquery,forms,Javascript,Jquery,Forms,以前,当我直接在网站的HTML页面中硬编码表单代码时,我使用上述代码。上面的代码很容易从地址栏检查url参数,并将externalsrc的值指定给表单字段的值。现在,我创建了一个可移植的iframe小部件,可以在外部其他地方使用。我想从iframe的extsrc参数中更新的值 以下是iframe代码的示例: <script> /* source parameters */ function GetURLParameter
的值
以下是iframe代码的示例:
<script>
/* source parameters */
function GetURLParameter(sParam)
{
var sPageURL = window.location.search.substring(1);
var sURLVariables = sPageURL.split('&');
for (var i = 0; i < sURLVariables.length; i++)
{
var sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] == sParam)
{
return sParameterName[1];
}
}
}
var mysrc = GetURLParameter("externalsrc");
if(mysrc == null) {
mysrc='another_site';
}
var objHidden = document.getElementById("externalsrc");
objHidden.value = mysrc;
</script>
我希望表单的externalsrc值是直接从iframe的源中获取的“mywidget”。可能吗
谢谢,有关如何将字符串转换为位置的信息,请参见此问题: 然后更新GetURLParameter函数以接受任何url:
function convertStringToLocation(str) {
var url = document.createElement('a');
url.href = str;
return url;
}
最后从iframe中获取src:
function GetURLParameter(url, sParam) {
var sPageURL = url.search.substring(1);
// Everything past here is the same
}
不是读取window.location,而是从iframe中读取src?如果是这种情况,则不会因为相同的源策略而发生在不同的域上。脚本如何查找iframe中的输入?第二个问题是,我应该把convertStringToLocation()函数放在第二个函数中吗?谢谢,我就快到了。@Acanthuslabs如果您的输入在iframe中,您可以在iframe中使用原始脚本。谢谢,@zach_maline。那么,如何在iframe本身中读取当前iframe的url呢?这个代码是如何实现的:var sPageURL=window.location.search.substring(1);在iframe中工作?可以修改吗?
窗口。对于在
中执行的脚本,位置应参考
中src
属性中的值。一个
的行为本质上类似于嵌入当前站点的另一个单独加载的网页,因此您可以将其视为一个独立的网页。非常感谢,@zach_malone。
function GetURLParameter(url, sParam) {
var sPageURL = url.search.substring(1);
// Everything past here is the same
}
var iframe = document.getElementById('myiframe');
var input = document.getElementById('externalsrc');
var url = convertStringToURL(iframe.src);
input.value = GetURLParameter(url, "externalsrc");