[英]html form - getting value from selected radio button
我已经创建了一个表单,并且希望获取用户输入的数据。 到目前为止,我拥有的javascript提取了所有数据。 我在拉选单选按钮的数据时遇到问题。 我阅读了一些文章,他们说“名称”必须相同,但这不起作用,如果我给它指定唯一的“ ID”,则选择一个或另一个单选按钮将不起作用。 我也不能使用jQuery
js
var myNodeList = document.getElementsByName('cf');
var myArray = []; // empty Array
for (var i = 0; i < myNodeList.length; i++) {
if(i<4)
for ( i; i < 3; i++) {
var self = myNodeList[i].value;
myArray.push(self);
}
else if(i==4)
myArray.push(document.getElementById('status').value);
else if(i==5)
myArray.push(document.getElementById('subscribe').value);
else if(i==6)
myArray.push(document.getElementsByName('support')[i]);
else if(i==7)
for ( i; i < myNodeList.length; i++) {
var self = myNodeList[i].value;
myArray.push(self);
}
}
console.log(myArray)
html
<!DOCTYPE html>
<html>
<head>
<title>Contact Me</title>
<link rel="stylesheet" type="text/css" href="contactform_Lab8.css">
</head>
<body>
<form id="contactus">
<fieldset>
<label for="name">Name:</label>
<input id="name" type="text" name="cf" autofocus required>
<label for="email">Email:</label>
<input id="email" type="email" name="cf" required>
<label for="phone">Phone:</label>
<input id="phone" type="tel" name="cf" required>
<label for="status">Status:
<select id="status" name="cf" required>
<option value="client">Client</option>
<option value="partner">Partner</option>
<option value="vendor">Vendor</option>
</select>
</label>
<label for="subscribe">
<input id="subscribe" type="checkbox" name="cf" value="check" checked>
Send me your newsletter</label>
<label for="sales">
<label for="support">
<input id="sales" type="radio" name="slsSupport" value="sales" checked>Sales
<input id="support" type="radio" name="slsSupport" value="support">Support
</label>
</label>
<label for="msg">Message:</label>
<textarea id="msg" name="cf" rows="10" cols="30" required></textarea>
</fieldset>
<fieldset>
<button type="submit">Send</button>
<button type="reset">Reset</button>
</fieldset>
</form>
<script src="contactform_Lab8.js"></script>
</body>
</html>
ID名称是唯一的,不应在同一页面中使用两次。 您可以从仅选中的单选按钮获取值,如下所示:
var inputs = document.getElementsByTagName('input');
for(var i = 0; i < inputs.length; i++) {
if(inputs[i].type.toLowerCase() == 'radio') {
if (inputs[i].checked){
alert('Checked radio buttons value is:' + inputs[i].value);
}
}
}
在jQuery中
$("input[name=slsSupport]:checked").val();
在普通的js中,您需要查找所有单选按钮,为每个单选按钮指定一个ID,然后逐个选择它们:
function GetSelected() {
for(var i=0;i<2;i++) {
var element = document.getElementById('radio'+i);
if (element.checked === true)
return element
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.