[英]JavaScript - sessionStorage how to store text area values?
在我的Web表单上,我正在使用HTML5中的sessionStorage
功能来存储表单中的值,然后将其显示在“谢谢”页面上,作为对他们查询的确认收据。
我设法存储了除<textarea>
元素以外的每种输入类型的值。
我努力了:
sessionStorage.setItem("Special", document.getElementsByName("specialInstructions").value);
但这不会获得在文本区域中键入的数据的值。
这是<textarea>
的代码,不包括<form>
标记:
<textarea name="specialInstructions" rows="10" cols="50"></textarea>
这是我用于其他表单元素的代码:
if (!rephonenumber.test(document.bookingsform.phonenumber.value)) {
document.bookingsform.phonenumber.style.border = "1px solid red";
document.getElementById("phonenumberwarn").innerHTML = "Invalid phone number.";
document.bookingsform.phonenumber.title = "Please enter a phone number.";
document.getElementById("phonenumberwarn").style.display = "block";
valid = false;
} else {
document.bookingsform.phonenumber.style.border = "1px inset #EBE9ED";
document.bookingsform.phonenumber.style.borderRadius = "2px";
document.getElementById("phonenumberwarn").style.display = "none";
sessionStorage.setItem("Phone Number", document.bookingsform.phonenumber.value);
}
为什么此语法不适用于文本区域?
通过此函数document.getElementsByName
您将获得匹配元素的数组。
因此,要访问数组的第一个元素并将其存储到localStorage中,您可以执行以下操作。
sessionStorage.setItem("Special", document.getElementsByName("specialInstructions")[0].value);
在这里您可以获得有关getElementsByName的更多信息。
您必须指定要从中获取值的确切元素,因为document.getElementsByName
返回一个数组:
document.getElementsByName('name')[0]
document.getElementsByName('name')[1]
document.getElementsByName('name')[2]
...
您需要获取带有头寸的值,请尝试:
document.getElementsByName('name')[0].value;
您可以按ID使用:
document.getElementById('name').value
调用document.getElementsByName()
返回元素列表,而不是单个元素。 如果只有一个<textarea>
,则可以使用document.getElementsByName()[0].value
。 否则,您将需要遍历它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.