html - 如何从带有 xml 数据文件的单选按钮中获取值?
问题描述
我试图从 JS 上的单选按钮获取一个值,但不幸的是不知道......我想给出一个成绩分数,如果值相互匹配当将呈现的值与检查的值进行比较时。但我希望这段代码不能运行。我能修什么??我已经搜索了谷歌,但仍然挣扎太多时间。请帮我。谢谢。
对不起,我删除了我的代码,因为代码完全错误。
解决方案
你可以试试下面的代码片段。
function processXML(xhr) {
let i;
let xmldoc = xhr.responseXML;
let display = "";
let gradeCount = 0;
let totalGrade = 0;
let x = xmldoc.getElementsByTagName("question");
for (i = 0; i < x.length; i++) {
display += "<br>" + "<b>Question</b>" + " " + "<b>";
display += x[i].getElementsByTagName("qnumber")[0].childNodes[0].nodeValue + "<br>" + "<br>";
display += x[i].getElementsByTagName("qtitle")[0].childNodes[0].nodeValue + "</b>" + "<br>" + "<br>";
if (i === 0) {
display += "  " + "<input class='radioSolution' type='radio' name='listAnswer' value='a' data-questionid='i'>" + "  ";
display += "  " + "A) " + x[i].getElementsByTagName("a")[0].childNodes[0].nodeValue + "<br>";
display += "  " + "<input class='radioSolution' type='radio' name='listAnswer' value='b' data-questionid='i'>" + "  ";
display += "  " + "B) " + x[i].getElementsByTagName("b")[0].childNodes[0].nodeValue + "<br>";
display += "  " + "<input class='radioSolution' type='radio' name='listAnswer' value='c' data-questionid='i'>" + "  ";
display += "  " + "C) " + x[i].getElementsByTagName("c")[0].childNodes[0].nodeValue + "<br>";
display += "  " + "<input class='radioSolution' type='radio' name='listAnswer' value='d' data-questionid='i'>" + "  ";
display += "  " + "D) " + x[i].getElementsByTagName("d")[0].childNodes[0].nodeValue + "<br>" + "<br>";
}
document.getElementById("display").innerHTML = display;
}
}
function getSolution() {
var radioButtons = document.getElementsByClassName(".radioSolution"); for(var i=0; i < radioButtons.length; i++) { var currentElement = radioButtons[i]; if(currentElement.checked) { var questionId = currentElement.getAttribute('data-questionid'); var selectedAnswer = currentElement.value(); //这会将值设为“on”,而不是从值中读取,最好使用 data-* 属性并使用此行上方的代码来获取选定的值。//现在你有了 QuestionId 和答案,你可以继续下一步 }
}
注意 上面的代码使用 data-* 属性来设置问题 id,这样如果您在表单提交期间读取值,您可以一次获得所有解决方案。
此外,我们使用类名是为了便于从 dom 中读取元素。
该getSolution()
方法将处理来自 DOM 的元素并给出问题及其答案,以便您可以开始进一步处理。
高温高压
推荐阅读
- python - 504-网关超时 [Python]
- php - 从元素值加上前一个元素的值创建新的数组值
- tensorflow - 如何获取用 tensorflow 编写的深度神经网络模型的函数跟踪
- python - Python:如何使属性私有停止程序进入无限循环?(私有与公共属性)
- eclipse - 是否可以在 Eclipse IDE 中默认设置打开资源(ctrl-shift-R)来搜索完整路径?
- python - 如何对具有日期条件的熊猫数据框进行完全外连接?
- information-retrieval - “IDF 仅依赖于术语”是什么意思?
- python - 牛顿法不起作用 - 未来价值增长年金
- android - 从另一个 Android 应用程序启动 Xamarin Android 应用程序
- angularjs - 如何在 angularjs 的下拉列表中被选中?