我的表单中有一个性别字段。
我给它起了相同的名字,即“性别”,并且我给了它相同的ID,即“性别”。
现在我想展示我从两个选项中选择的内容。但是使用相同的ID,它不起作用。我已经将onclick事件应用到文本框中,我想要它,所以每当我点击该文本框时,我会显示一个javascript警告,显示我选择的是男性还是女性。
请帮忙!
gender:<input type="radio" name="gender" id="gender" value="female"/>female
:<input type="radio" name="gender" id="gender" value="male" />male
<input type="text" name="textbox" onclick="check()" />
<script type="text/javascript">
function check()
{
var a=document.getElementById("gender").value;
alert(a);
}
</script>
function addUser() {
//how to check what is the selected radio input
alert(getCheckedRadioId('u_type'));
}
function getCheckedRadioId(name) {
var elements = document.getElementsByName(name);
for (var i=0, len=elements.length; i<len; ++i)
if (elements[i].checked) return elements[i].value;
}
</script>
now this code alerts that what i have choosen but the problem is that i want the alert's value in a variable so that i could send this value to database...so how should i take the alerted value in a variable.....
答案 0 :(得分:2)
你可能想看看这个: javascript selected radio
基本上,如果您有一个按名称获取已检查无线电值的函数,问题就会得到解决。通过以上链接:
var selected = '';
var elements = document.getElementsByName('gender');
for (var i = 0, i < elements.length; i++)
{
if (elements[i].checked)
selected = elements[i].value;
}
alert(selected);
您也可以考虑使用jQuery。在像这样的情况下,它会有很多帮助。
答案 1 :(得分:0)
您的问题是每个元素必须具有唯一的ID,并且您为两个元素提供相同的Id。我不确定哪个getElementById()会返回。我假设第一个。
但是,您可以使多个元素同名。然后你可以使用getElementsByName()来检索包含这两个元素的数组,并且可以返回是否设置了元素的Checked属性。