如何使用javascript从html表单计算和生成结果

如何使用javascript从html表单计算和生成结果,javascript,html,Javascript,Html,正如标题所说,我需要创建一个游戏,但我的问题是,我不知道如何使用javascript阅读单选按钮,并且基于选项,它会生成一个游戏模式场景,难度与玩家选择的难度相同。我使用一个文本输入作为昵称,使用两个字段集作为玩家选择游戏类型和难度 <fieldset> <legend>Dificuldade:</legend> <input type="radio" name="d

正如标题所说,我需要创建一个游戏,但我的问题是,我不知道如何使用javascript阅读单选按钮,并且基于选项,它会生成一个游戏模式场景,难度与玩家选择的难度相同。我使用一个文本输入作为昵称,使用两个字段集作为玩家选择游戏类型和难度

            <fieldset>
            <legend>Dificuldade:</legend>
                    <input type="radio" name="dificuldade" value="easy"> easy </input>
                    <input type="radio" name="dificuldade" value="medium"> medium </input>
                    <input type="radio" name="dificuldade" value="hard"> hard </input>
            </fieldset>

定义:
容易的
中等
硬的

我建议您使用jQuery,它让生活变得更加轻松:

$('[name=dificuldade]:checked').val()
JSFiddle:

否则,您必须遍历DOM中的每个单选按钮,并检查它们的
checked
属性。当您找到选中了
的===true
时,您可以读取其
属性。像这样:

var fieldset = document.getElementById('difficuldade'); // You'd need to set an ID to the fieldset element
var curr = fieldset.firstChild;

while (curr != null) {
    if (curr.checked) {
        break;
    }
    curr = curr.nextSibling;
}

curr.value; // This is your selected value
JSFiddle:


正如Nate提到的,确保DOM已经准备好,否则这将无法工作。这意味着所有代码都应该在
body
元素的
onload
事件上运行。请参阅此处了解更多详细信息:

我们需要更多有关表单发送和评估方式的详细信息。加上任何会妨碍表单发送的信息。尝试将标题更改为特定问题而不是主题区域?这是我的问题,我不知道如何发送表单并使用javascript对其进行评估,以便生成场景ajax、post、submit和json有几种不同的方式。。。我会首先使用简单的javascript表单。W3Schools是javascript教程和表单的好去处,你甚至可以查看:嘿,我一定会查看的,我应该在帖子上说,但我只能使用html+css+javascript,可能还有一点jquery,谢谢你的回答,我想我已经尝试了你说的第二种方法,并在for循环结束时使用了一个警报来查看它保存了什么,但它没有返回任何内容。我做了一个编辑来演示如何使用vanilla Javascript实现这一点。尽管考虑学习JQuery,但是你可以看到它给你带来了多大的痛苦。对不起,我来得不是很早,但是已经很晚了。我还有一个问题,你确定DOM也准备好了是什么意思?我在JSFIDLE上插入了我的表单,并试图修改您的函数,以便它能够验证我的2字段集,但它似乎不起作用,我做错了什么?以及如何存储用户名,因为我将仅在打印结果时使用它。我在此处更正了您的一些错误:。有一些输入错误,您缺少id=“output”和id=“output1”元素。然而,为了稍微清理一下,您应该创建一个方法,该方法接受字段集id并返回位于其中的选定单选按钮。至于存储用户名,请查看localStorage对象: