Javascript 将数据传递到新页并将其写入
我正在尝试使用GetElementById从文本框传递数据 这是我的文本框:Javascript 将数据传递到新页并将其写入,javascript,html,getelementbyid,Javascript,Html,Getelementbyid,我正在尝试使用GetElementById从文本框传递数据 这是我的文本框: <tr> <td>Your name:</td> <td> <input type="text" name="name" id = "p_name"/><br /></td> </tr> 你的名字: 以下是我的职责: function mypopup() { mywindow = window.open(
<tr>
<td>Your name:</td>
<td> <input type="text" name="name" id = "p_name"/><br /></td>
</tr>
你的名字:
以下是我的职责:
function mypopup()
{
mywindow = window.open("Page_preview.html","width=200,height=200");
mywindow.moveTo(0, 0);
}
function load()
{
document.write("<p>" + Date() + "</p>");
var myTextField = document.getElementById('p_name');
if(myTextField.value != "")
alert("You entered: " + myTextField.value)
}
函数mypopup()
{
mywindow=window.open(“Page_preview.html”,“宽度=200,高度=200”);
mywindow.moveTo(0,0);
}
函数加载()
{
文件。写(“”+日期()+“”);
var myTextField=document.getElementById('p_name');
如果(myTextField.value!=“”)
警报(“您输入:”+myTextField.value)
}
load方法在page_preview.html正文中调用
这是启动mypopup功能的按钮:
<input type="button" onclick="mypopup()" value="Show preview" />
除了文档之外,任何东西都可以工作。getElementById('p_name')从不返回值,就像它找不到一样
我相信这是很容易做到的(我是新手)。尝试使用jQuery
$('#p_name').val()
如果表单有
名称
,并且文本字段有名称
,则可以使用document.myForm.myTextbox.value
<form name='myForm'>
<input type='text' name='myTextbox'>
此外,在DOM上执行操作之前,请确保您的页面实际上已完全加载-如果您的
页面预览.html
在加载文本字段之前运行javascript,则会导致它始终为nil
文档。write
覆盖页面中的html,因此,在该行执行后,
不再存在。请尝试修改div
(或span
或p
等)的内容以进行输出
HTML示例:
<div id="messages"></div>
示例JS:
var outputElement = document.getElementById;
var msgs = 'This is a better way to monitor output';
var htmlMsgs = '<p>This is a better way to monitor output</p>';
outputElement.innerText = msgs;
//outputElement.innerHTML = htmlMsgs; //for formatted output.
var outputElement=document.getElementById;
var msgs='这是监视输出的更好方法';
var htmlMsgs='这是监视输出的更好方法;
outputElement.innerText=msgs;
//outputElement.innerHTML=htmlMsgs//用于格式化输出。
为什么不为onclick事件增加价值?我的意思是将参数传递给函数。像这样的
<input type="button" onclick="mypopup(document.getElementById('p_name').value)" value="Show preview" />
function load(p_name)
{
document.write("<p>" + Date() + "</p>");
var myTextField = p_name;
if(myTextField.value != "")
alert("You entered: " + myTextField.value)
}
这样做:
var myTextField = document.getElementById('p_name').value;
我想那会解决的。希望对您有所帮助。document.getElementById()
将在当前文档中获取一个元素,也就是说,它不会在其他窗口中显示。将数据从一个窗口传递到下一个窗口的一种方法是在mypopup()
函数中使用.getElementById()
,并将值传递到查询字符串中的“Page\u preview.html”,即当您打开第二个窗口时,将url设置为“Page\u preview.html”name=“+encodeURIComponent(document.getElementById(“p\u name”)。value)
var myTextField = document.getElementById('p_name').value;