gpt4 book ai didi

javascript - 如何使用页面名称作为文本框值

转载 作者:行者123 更新时间:2023-11-28 09:09:40 24 4
gpt4 key购买 nike

我正在尝试使用 Javascript 实现一些目标。我有点菜鸟,所以请耐心等待。

首先,我使用此代码创建一个弹出窗口:

HTML:

<a href="JavaScript:newPopup('contact.html');"><img src="request.jpg"/></a>

JS:

var sPage;

function newPopup(url) {
popupWindow = window.open(
url,'popUpWindow','height=400,width=800,left=10,top=10,resizable=no,scrollbars=no,toolbar=no,menubar=no,location=no,directories=no,status=no');
var sPath=window.location.pathname;
var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
window.name = sPage;
}

这部分工作正常,但我接下来要做的是获取当前页面名称并将其放入“contact.html”中文本框的值中。

这是我在弹出页面上尝试执行此操作的代码:

function add(text){
var TheTextBox = document.getElementById("prodcode");
TheTextBox.value = TheTextBox.value + window.name;
}

当我链接到的普通页面时,这似乎有效,但如果是弹出窗口,则不起作用。我也不知道如何从页面名称中删除扩展名。

我意识到可能有一百万种更好的方法可以做到这一点,但这对我来说似乎是最有意义的。我看过 cookie,但我似乎无法弄清楚它们。

我知道我问了很多,但我们将不胜感激。

谢谢。

最佳答案

如果我对问题的理解正确,您可以将窗口名称作为查询参数传递到要传递给 newPopup 函数的 URL 中,然后在 contact.html 页面中获取它将其放入盒子中。

例如,您的 newPopup 函数可以将查询参数添加到网址,如下所示:

function newPopup(url) {
var sPath=window.location.pathname;
var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
var windowName = sPage.split(".")[0];
popupWindow = window.open(url + '?window_name=' + windowName,'popUpWindow','height=400,width=800,left=10,top=10,resizable=no,scrollbars=no,toolbar=no,menubar=no,location=no,directories=no,status=no');
window.name = windowName;
}

然后,在 contact.html 文件中,使用以下逻辑设置文本框的值时获取查询参数:

function parseURLParams(name, locat) {
var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(locat);
if (results) {
return results[1] || "";
} else {
return "";
}
}
function add(text) {
var TheTextBox = document.getElementById("prodcode");
TheTextBox.value = TheTextBox.value + parseURLParams("window_name", window.location.href);
}

希望对你有帮助!

关于javascript - 如何使用页面名称作为文本框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16486660/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com