gpt4 book ai didi

javascript - 如何将变量传递到另一个页面?

转载 作者:行者123 更新时间:2023-11-28 19:49:52 26 4
gpt4 key购买 nike

我实际上使用下面的代码让它工作。感谢所有向我提供意见的人,但不得不说我很难让它正常工作。希望它对其他 javascript 新手有所帮助。

function SelectedRow() {
(function () {
if (window.addEventListener) {
window.addEventListener('load', run, false);
} else if (window.attachEvent) {
window.attachEvent('onload', run);
}

function run() {
var table = document.getElementById('alternativeCableTable');
table.onclick = function (event) {
var target = event.target || event.srcElement;
while (target && target.nodeName != 'TR') {
target = target.parentElement;
}
var cells = target.cells;
if (!cells.length || target.parentNode.nodeName == 'THEAD') {
return;
}
var stockcode = document.getElementById('stockcode');
var wiretype = document.getElementById('wiretype');
var wirelength = document.getElementById('wirelength');
var terminalA = document.getElementById('termA');
var sealA = document.getElementById('sealA');
var terminalB = document.getElementById('termB');
var sealB = document.getElementById('sealB');
stockcode.value = cells[0].innerHTML;
wiretype.value = cells[1].innerHTML;
wirelength.value = cells[2].innerHTML;
terminalA.value = cells[3].innerHTML;
sealA.value = cells[4].innerHTML;
terminalB.value = cells[5].innerHTML;
sealB.value = cells[6].innerHTML;
alert("The select data is sent to print page");
window.open("http://10.19.13.67/ReworkLabels/PrintLabelPage.aspx?stockcode=" + decodeURIComponent(stockcode.value) + "&wiretype=" + decodeURIComponent(wiretype.value) + "&wirelength=" + decodeURIComponent(wirelength.value)
+ "&terminalA=" + decodeURIComponent(terminalA.value) + "&sealA=" + decodeURIComponent(sealA.value) + "&terminalB=" + decodeURIComponent(terminalB.value) + "&sealB=" + decodeURIComponent(sealB.value),"_blank");

};

}

})();
}

最佳答案

使用本地存储,而不是传递 URL 参数和/或 cookie,因为后两者有很多限制。

查看 http://www.webdesignerdepot.com/2013/04/how-to-use-local-storage-for-javascript/ 中如何执行此操作的示例

如果您出于某种原因在服务器端需要这些值,那么您可以利用 JSON 序列化将这些值作为 POST 参数传递。 (或者只是带有隐藏输入的 HTML 表单;不要忘记将名称属性放在需要提交到服务器的 html 表单元素上。)

编辑:在第二次阅读你的问题时,看起来你只需要 2 个简单的字符串值。在本例中,请检查两个输入元素的 value 属性。 https://developer.mozilla.org/en/docs/Web/API/HTMLInputElement

您可能还想为这些 GET 参数命名,例如

window.open("http://Testing/ReworkLabels/Default.aspx?f1="+encodeURIComponent(f1.value)+"&f2="+encodeURIComponent(f2.value),"my window");

参见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent有关encodeURIComponent函数的更多信息。

参见Retrieve GET variables from URL in ASPX以便在目标 ASP.NET 页面中读取这些参数。

还要确保不要直接打印它们的值(而是正确转义),以避免跨站点脚本(XSS)漏洞。

参见http://msdn.microsoft.com/en-us/library/ff649310.aspxHow do you avoid XSS vulnerabilities in ASP.Net (MVC)?

关于javascript - 如何将变量传递到另一个页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23677663/

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