如何将我的无线电输入的值获取到java脚本中的变量

时间:2014-10-06 17:19:20

标签: javascript

所以我在他的博客上创建了一个类似于Fenoxo游戏的游戏。 现在我正在尝试创建角色创建系统,与我的唯一区别是它都是javascript和HTML。

if (gender === 2) {
    var bodyTypeChoiceFE = "<form id='id'><input type='radio' name='BodyBuild1' value='1'>Thin<br><input type='radio' name='BodyBuild2' value='2'>Average<br><input type='radio' name='BodyBuild3' value='3'>Curvy<br><input type='radio' name='BodyBuild4' value='4'>Chubby<br><input type='radio' name='BodyBuild5' value='5'>Muscled<br><input type='radio' name='BodyBuild6' value='6'>Fat<br><input type='submit'></form>";
    bodyChoice = bodyTypeChoiceFE;
} else {
    var bodyTypeChoiceME = "<form id='id'><input type='radio' name='BodyBuild1' value='1'>Thin<br><input type='radio' name='BodyBuild2' value='2'>Average<br><input type='radio' name='BodyBuild4' value='4'>Chubby<br><input type='radio' name='BodyBuild5' value='5'>Muscled<br><input type='radio' name='BodyBuild6' value='6'>Fat<br><input type='submit'></form>";
    bodyChoice = bodyTypeChoiceME;
}

document.getElementById("charDesc").innerHTML = bodyChoice;

var id = document.getElementById("id").value;
var id_value;

if (id === "1") {
    id_value = document.getElementsByName("BodyBuild1").value;
} else if (id === "2") {
    id_value = document.getElementsByName("BodyBuild2").value;
} else if (id === "3") {
    id_value = document.getElementsByName("BodyBuild3").value;
} else if (id === "4") {
    id_value = document.getElementsByName("BodyBuild4").value;
} else if (id === "5") {
    id_value = document.getElementsByName("BodyBuild5").value;
}else if (id === "6") {
    id_value = document.getElementsByName("BodyBuild6").value;
}

此选择是第二选择,基于您选择的性别,因为我使用提示并且用户输入信息。 如果我不能让它工作,我可能会最终使用它。

如果您无法阅读所有这些,那么基本上如果性别是女性,则表明女性的选择 否则显示男性的选择。然后显示选择。如果值为1,则保存表单中的值,检查bodybuild1的值。

但这不起作用......而且我不确定如何使其发挥作用。 我需要它,所以我可以将它保存到变量或使用值来更改变量的内容。无论哪种方式,我都需要价值来做点什么。

2 个答案:

答案 0 :(得分:0)

getElementsByName会返回一个集合,而不是单个对象,因此.value不存在。将其更改为getElementsByName[0].value然后尝试。

答案 1 :(得分:0)

如上所述:document.getElementsByName('BodyBuild1')返回一个指定了name属性的元素数组。如果页面上有多个具有相同名称属性的表单,则需要指定要定位的表单。你可以用数字做这个。

的jQuery

var id_value = $('input[name="BodyBuild1"]:checked').val();
alert(id_value)

的JavaScript

var id_value = document.getElementsByName('BodyBuild1')[0].checked.value;
alert(id_value)