javascript - 自动填写表格时如何删除“未定义”?
问题描述
function validate() {
var errMsg = "";
var result = true;
var fname = document.getElementById("fname").value;
if (!fname.match(/^[a-zA-Z]+$/)) {
errMsg += "Please enter your first name correctly.\n";
result = false;
}
if (errMsg) {
alert(errMsg);
}
if (result) {
function storeBooking(
fname
) {
sessionStorage.fname = fname;
}
function getBooking() {
if (sessionStorage.fname != undefined) {
document.getElementById("confirm_fname").textContent = sessionStorage.fname;
}
}
function prefillcard()
{
document.getElementById("fname").value = sessionStorage.fname;
}
window.addEventListener("DOMContentLoaded", prefillcard);
function init() {
var regForm = document.getElementById("regform");
regForm.onsubmit = validate;
}
<form action="apply.html" method="post" id="regform">
<label for="fname">First Name</label>
<input type="text" id="fname" name="firstname" placeholder="Your name.." required="required" maxlength="25" onkeypress="return (event.charCode > 64 && event.charCode < 91) || (event.charCode > 96 && event.charCode < 123) || (event.charCode==32)">
<input type="submit" value="Apply">
</form>
如果用户已经在同一个浏览器会话中填写了表单然后重新访问了表单,我已经设置了一些代码来自动填写表单。唯一的问题是有一个占位符,你需要在输入之前删除它,我不知道如何摆脱它。第一次填写表格时会出现“未定义”。我该如何摆脱这个?
注意:没有 jQuery 或内联 JavaScript。
解决方案
在会话中存储值使用
window.sessionStorage.setItem("Name", Value));
并从会话使用中检索值
window.sessionStorage.getItem("Name");
下面的示例代码
function prefillcard() {
if (window.sessionStorage.getItem("fname")) {
var fnm = window.sessionStorage.getItem("fname");
document.getElementById("fname").value = fnm;
}
}
并设置会话值使用
var fnm = document.getElementById("fname").value;
window.sessionStorage.setItem("fname", fnm));
推荐阅读
- scala - Scala - 函数定义和没有参数的函数文字之间的区别
- android - Android Studio 3.6.1 无法解析符号
- asp.net - 如何添加具有多个范围的授权策略?
- android - 使用 androids 可视化类获取可变频率范围
- wpf - MVVM:基于 ViewModel 构建窗口
- c# - 在 C#/NETC 核心中的瞬态服务实例之间共享线程安全字段?
- android - 在 API 级别 < 23 下使用“ENCRYPTION_PADDING_RSA_PKCS1”填充设置生成 RSA 公钥-私钥对
- graphics - 无法使用 ImageMagick 使文本适合图像
- c - 如何使用 C 程序将从文件 csv 读取的字符串安装到矩阵中
- php - PHP/PCRE 正则表达式以递归模式开头