您好我正在尝试使用从表单中获取的某些值来创建JSON对象。对于一些共鸣,代码不起作用。我对输入的所有名称进行了三重检查,因此您可以认为它们是正确的。我确实将问题隔离到我实例化JSON对象的行:
function createJSON()
{
if (document.forms["formIn"]["gender"][0].checked == true)
{
var g= "male";
}
else if (document.forms["formIn"]["gender"][1].checked == true)
{
var g= "male";
}
var jsonobj={"name":document.forms["formIn"]["name"].value, "surname":document.forms["formIn"]["surname"].value, "email":document.forms["formIn"]["email"], "dob":document.forms["formIn"]["dob"].value, "password":document.forms["formIn"]["password"].value, "cpassword":document.forms["formIn"]["confirm_password"].value, "gender":g}
var jsonstr=JSON.stringify(jsonobj);
alert(jsonstr);
var newjobj=JSON.parse(jsonstr);
alert(newjobj.email);
}
感谢大家的帮助。我的电子邮件后,我刚刚没有.value。清除了很多其他愚蠢的错误,但我的第二个警告只是说[对象] [对象]。
答案 0 :(得分:1)
请试试这个:
function createJSON()
{
var g = "unknown",
jsonobj,
jsonstr,
newjobj;
if (document.forms["formIn"]["gender"][0].checked == true)
{
g = "male";
}
else if (document.forms["formIn"]["gender"][1].checked == true)
{
g = "female";
}
jsonobj={"name":document.forms["formIn"]["name"].value, "surname":document.forms["formIn"]["surname"].value, "email":document.forms["formIn"]["email"], "dob":document.forms["formIn"]["dob"].value, "password":document.forms["formIn"]["password"].value, "cpassword":document.forms["formIn"]["confirm_password"].value, "gender":g}
jsonstr=JSON.stringify(jsonobj);
alert(jsonstr);
newjobj=JSON.parse(jsonstr);
alert(newjobj.email);
}
答案 1 :(得分:0)
您在实例化JSON对象的末尾缺少;
。其他一切似乎都没问题。