gpt4 book ai didi

javascript - 无法使用 JSON 获取性别单选按钮值

转载 作者:行者123 更新时间:2023-11-28 13:55:49 24 4
gpt4 key购买 nike

我被这个困住了!当我提醒对象我将性别值字符串化时,性别值始终保持不变!如何改变这个工作?

我有这段代码:

<!DOCTYPE HTML>
<html>
<head>
<title>Practical 2 - exercise</title>
<script type="text/javascript">
function myJSONobj(){

var JSONObject={
"name" : document.getElementById("name").value,
"surname" : document.getElementById("surname").value,
"email" : document.getElementById("eMail").value,
"gender" : document.getElementById("gender").value
};

var jsonstr=JSON.stringify(JSONObject);
alert(jsonstr);

var jobjson=JSON.parse(jsonstr);
alert(jobjson.gender);
}
</script>
</head>
<body>
<form method="post" action="display.php">
<p>
Your name:
</br>
<input type="text" id="name" name="theName" placeholder="Fill in your name" autofocus="autofocus" required="required"/>
</p>
<p>
Your surname:
</br>
<input type="text" id="surname" name="theSurname" placeholder="Fill in your surname" required="required"/>
</p>
<p>
Your email:
</br>
<input type="email" id="eMail" name="theMail" placeholder="mail@mail.com" required="required"/>
</p>
<p> Please select your gender:
<br/>
<input type="radio" id="gender" name="gender" value="M" /> M
<input type="radio" id="gender" name="gender" value="F" required="required" /> F
</p>
<input onClick="myJSONobj();" type="button" id="theSubmit" name="theSubmit" value="Fire away!!"/>
</form>
</body>
</html>

无论如何测试它,看看它会做什么!

谢谢!

最佳答案

元素 id 在页面中必须是唯一的,因此第一个错误是对 2 个不同的 radio 使用相同的 id。使用唯一的 ID:

<input type="radio" id="gender-M" name="gender" value="M" /> M
<input type="radio" id="gender-F" name="gender" value="F" required="required" /> F

然后要将选定的性别检索到 myJSONobj 函数中,必须使用类似以下内容的内容:

var JSONObject={
"name" : document.getElementById("name").value,
"surname" : document.getElementById("surname").value,
"email" : document.getElementById("eMail").value,
"gender" : document.getElementById("gender-M").checked ? 'M' : 'F'
};

或者(更通用一点):

var radios = document.getElementsByName('gender');
var gender = '';
for(var i=0;i<radios.length;i++)
{
if(radios[i].checked)
gender = radios[i].value;
}

var JSONObject={
"name" : document.getElementById("name").value,
"surname" : document.getElementById("surname").value,
"email" : document.getElementById("eMail").value,
"gender" : gender
};

关于javascript - 无法使用 JSON 获取性别单选按钮值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8007772/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com