试图用cookie中的信息填充表单
Trying to populate form with information from a cookie
我正试图用保存在cookie中的详细信息填充表单。
每个cookie有12位信息,由"---"分隔
我正在努力确保用户名(用户输入的值)与其中一个cookie的用户名(username1)匹配。
我该怎么做?
底部的if循环总是填充cookie数组中的最后一个索引
function populateForm(username){
var allcookies = document.cookie;
// Get all the cookies pairs in an array
cookiearray = allcookies.split(';');
// Now take key value pair out of this array
for(var i=0; i<cookiearray.length; i++){
username1 = cookiearray[i].split('---')[0];
password = cookiearray[i].split('---')[1];
email = cookiearray[i].split('---')[2];
name_one = cookiearray[i].split('---')[3];
name_two = cookiearray[i].split('---')[4];
addr1 = cookiearray[i].split('---')[5];
addr2 = cookiearray[i].split('---')[6];
city = cookiearray[i].split('---')[7];
zip = cookiearray[i].split('---')[8];
day = cookiearray[i].split('---')[9];
month = cookiearray[i].split('---')[10];
year = cookiearray[i].split('---')[11];
var nameinarray = cookiearray[i].split('---')[0];
var cityinarray = cookiearray[i].split('---')[7];
if(nameinarray.indexOf(username.value)){
document.getElementById('username_text').value=nameinarray;
document.getElementById('city_text').value=cityinarray;
alert("in loop " + username.value);
}
}
}
这是因为如果在This字符串中找不到参数,indexOf()
函数将返回-1
。在包括JavaScript在内的许多编程语言中,-1
被视为一个truthy值,因此,如果在if测试中使用,将导致分支被执行。
解决方案:
if (nameinarray.indexOf(username.value) !== -1) {
对您的代码的其他评论:
- 我质疑你在这里使用
indexOf()
。难道你不应该想要完全相等,即if (username1 === username.value) {
吗?但你使用indexOf()
可能有一个我不知道的解释;请随意添加到评论中 - 您不应该重复执行
cookiearray[i].split('---')
;这是对CPU的浪费。计算一次,将其分配给一个变量,然后在12个赋值语句中重复索引该变量 - 不确定为什么同时创建
username1
和nameinarray
。city
和cityinarray
同上
相关文章:
- 试图用cookie中的信息填充表单
- 如何使用与单个查找字段相关的信息填充字段
- 用点击事件信息填充文本字段
- Twitter引导模式-从iframe中获取信息并填充在主页上
- 如何从数据库中填充谷歌地图信息框
- 使用带有数据库信息的下拉菜单填充文本框
- 使用Web服务根据对另一个下拉框的选择填充第二个下拉框以获取信息
- Javascript - 预填充 cookie 信息,以在指向外部站点的链接上交叉传递不必要的登录页面
- 在调用方法来填充详细信息网格之前,如何从填充的下拉列表中获取信息
- 如何在不重新填充列表的情况下维护下拉列表的当前信息
- 用于调查的 Javascript:从页面加载时从出生日期开始计算年龄 从预填充信息加载
- 自动用数据库信息填充文本框,而无需离开页面
- 信息框左填充
- PHP:用颜色填充图像块并保存信息
- 适用于机场的 Google 地方信息自动填充功能
- 为已由数据库信息填充的下拉列表设置默认值.MVC 4.
- 用模型信息填充JSTree中的AJAX url
- 从HTML元素中获取数据,并用信息填充其他元素
- 在Javascript中基于其他信息填充数组的最有效方法是什么?
- 用Nodejs信息填充选择框