Javascript 如何获取所选单选按钮值?

Javascript 如何获取所选单选按钮值?,javascript,php,Javascript,Php,我正在尝试获取所选单选按钮的值,以便使用Ajax提交表单。我在这里搜索了一些帮助,但找不到任何有用的解决方案 <input type="radio" id="answer" name="answer<?php echo $function::escape_string($question_row->question_id); ?>" value="<?php echo $function::escape_string

我正在尝试获取所选单选按钮的值,以便使用Ajax提交表单。我在这里搜索了一些帮助,但找不到任何有用的解决方案

<input type="radio" id="answer" name="answer<?php echo $function::escape_string($question_row->question_id); ?>"
                         value="<?php echo $function::escape_string($answer_row>answer_id); ?>"/> 
-HTML输出

<input type="radio" id="answer" name="answer16" value="107"/>

<input type="radio" id="answer" name="answer17" value="109"/>

<input type="radio" id="answer" name="answer15" value="104"/>
我在这里找到了这个函数

function findSelection(field) {
    var test = document.getElementsByName(field);
    var sizes = test.length;

    alert("Size is " + sizes);
        for (i=0; i < sizes; i++) {
            if (test[i].checked==true) {
            alert(test[i].value + ' you got a value');     
            return test[i].value;
        }
    }
}

var radioinputs = findSelection("answer");  

但是我不知道要更改什么,这样我才能使它正确地与我一起工作

从外观上看,您有一个动态名称字段,即name=answer2、name=answer3等。因为您的查询文档。getElementByNamefield将找不到与答案匹配的字段


要解决这个问题,要么去掉动态名称,要么如果您真的需要它,我会说向所有这些单选按钮添加一个类,然后使用document.getElemenetsByClassName。

您可以这样构造:

函数findSelectionfield{ var test=document.getelementsbyclassname字段; 变量大小=测试长度; //警报大小为+大小; 结果=[]; //结果[16]=107; //结果[17]=109; //结果[15]=104; 对于i=0;i<尺寸;i++{ var index=test[i].dataset.index; 如果测试[i]。选中==真{ 结果[指标]=试验[i]。数值; }否则{ 结果[索引]=未定义;//答案没有值 } } 返回结果; } 函数检查函数{ var放射性输入=findSelectionradioanswer; 控制台。日志输入; 控制台.日志输入[15]; }; 检查
您可以使用name=someName[]创建包含数据的数组。也许你可以使用它,而不需要获得价值;您可以创建一个新的FormDataform并将元素传递给它,以获取表单的所有值。但是,请创建一个,主要是用浏览器中的内容替换PHP部分。可能的重复-它们都有相同的id我可以使用吗?不可以使用相同的id,一般惯例是不重用id。它们必须是独一无二的。另外,您正在使用document.getElementsByNameanswer获取数据,这意味着它将查看其名称字段,而不是id字段。