如何解决JavaScript 对象键不可分配,但是字段是
我对 JavaScript 还很陌生,我想知道如何获取变量的值并将其设置为相应字段的键名。我在制作 webapp 时遇到了这个问题,它的作用是接收注册数据并将其放入一个 JS 对象中以发送到我的 API。
signup.html:
<form id="signup-form" name ="signup-form">
<input class="login-form-field" type="text" name="user" placeholder="username">
<input class="login-form-field" type="text" name="email" placeholder="email">
<input class="login-form-field" type="password" name="dob" placeholder="date of birth">
<br>
<!--<button class="actionButton"></button>-->
<INPUT TYPE="button" NAME="button" Value="Click" onClick="signupData(this.form)">
</form>
下面你会看到,当我使用dob时,它会命名键dob并将字段设置为它的值。当我将键设置为变量 user 时,它不会像我最初认为的那样将键设置为变量 user 的值。如何将键设置为变量 user 的值?
function signupData(form) //add to this script
{
console.log("signup data is starting");
var user = form.user.value;
var email = form.email.value;
var dob = form.dob.value;
//genSKey();
// genPKey();
//var skey = getSKey();
//var enUser = encryptMes(user);
//var enEmail = encryptMes(email);
//var endob = encryptMes(dob);
var data = {name : "LifeNet",members : {user : {profilePic : {},dob,listeners : {},listening : {},friends : {},requested : {},blocked : {},channel: false}}}
apiPost({data});
//pass the signup function in here
//hash the variables and send to celox network
console.log(JSON.stringify({data}));
//alert (`copy and save your Private Key to somewhere safe: ${skey}`);
}
</script>
在下面您将看到它没有将名称设置为我在注册表单中输入的名称。 浏览器:
{"data":{"name":"LifeNet","members":{"user":{"profilePic":{},"dob":"01/25/2000","listeners":{},"listening":{},"friends":{},"requested":{},"blocked":{},"channel":false}}}}
非常感谢您的帮助,谢谢。
Terry 提到的答案:
用括号符号附加到现有对象。
var user = form.user.value;
var email = form.email.value;
var dob = form.dob.value;
var data = {name:"LifeNet",members:{}};
data.members[user] = {profilePic:{},listeners:{},listening:{},friends:
{},requested:{},blocked:{},channel:false}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。