我正在尝试制作一个简单的webapp。 我想将主页面中的数据放到另一个窗口/选项卡上的输入框中,但是当我打开它时输入框总是空的。
这是代码: 的 global.js
function showUserInfo(event) {
// Prevent Link from Firing
event.preventDefault();
var _id = $(this).attr('rel');
var arrayPosition = userListData.map(function(arrayItem) { return arrayItem._id; }).indexOf(_id);
// Get our User Object
var thisUserObject = userListData[arrayPosition];
window.open('http://localhost:3000/editrecord', 'window', 'width=500,height=400');
var fName = thisUserObject.cName
$("#inputecName").attr('value', fname);
运行它会打开'editrecord'窗口,我想要获取的数据应该在'editrecord'页面的输入框中。
editrecord.jade
#editBox
fieldset
input#inputecName(type='text', placeholder='Customer Name', width = '50%')
br
button#btnEditRec(type='submit') Update Record
提前谢谢。
答案 0 :(得分:0)
您可以通过URL发送数据,
<a href="nextPage.html?data=blah">Next page</a>
通过JS
或服务器端脚本,您可以从网址抓取data
并使用它,
答案 1 :(得分:0)
你可以这样做
var childWindow = window.open('http://localhost:3000/editrecord', 'window', 'width=500,height=400');
$(childWindow.document).load(function() {
var fName = thisUserObject.cName
$("#inputecName").attr('value', fname);
})
您可以使用普通javascript
从chilld窗口访问inputecName
childWindow.document.inputecName
答案 2 :(得分:0)
js
尝试将元素的value
设置为单独的document
$("#inputecName").attr('value', fname);
来自当前document
的,未引用该元素位于单独document
的单独window
内。
您可以使用sessionStorage
访问具有相同来源的浏览上下文或Storage
对象之间的window
对象;在浏览器中打开.ready()
并加载sessionStorage
时,使用editrecord.html
检查document
。
原始html
文档global.js
<script>
sessionStorage.setItem("id", 123);
var w = window.open("editrecord.html", "w");
</script>
在editrecord.html
<head>
<script>
$(document).ready(function() {
if (sessionStorage.id) {
$("#inputecName").val(sessionStorage.getItem("id"))
}
})
</script>
</head>
<body>
<input type="text" id="inputecName" />
</body>