Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在JS测验中打印提交时所有字段的内容?_Javascript_Html - Fatal编程技术网

Javascript 如何在JS测验中打印提交时所有字段的内容?

Javascript 如何在JS测验中打印提交时所有字段的内容?,javascript,html,Javascript,Html,我做了一个JS/HTML测试,我希望在提交时在文本字段中输入的所有单词都显示在页面底部 错误出现在showResults函数中,该函数的工作方式与我预期的不同。我是使用querySelector的初学者,但我想做的是使用变量answerContainers只存储quizContainer的.answers部分,然后使用toSearch变量只存储AnswerContainer提交的答案的值。最后,我想以字符串形式将toSearch的内容打印到屏幕上 这是我的密码: var quizContain

我做了一个JS/HTML测试,我希望在提交时在文本字段中输入的所有单词都显示在页面底部

错误出现在showResults函数中,该函数的工作方式与我预期的不同。我是使用querySelector的初学者,但我想做的是使用变量answerContainers只存储quizContainer的.answers部分,然后使用toSearch变量只存储AnswerContainer提交的答案的值。最后,我想以字符串形式将toSearch的内容打印到屏幕上

这是我的密码:

var quizContainer=document.getElementById('quick');
var resultcontainer=document.getElementById('results');
var submitButton=document.getElementById('submit');
var myQuestions=[“1.你梦想的目的地是什么?”,
“2.如果你现在能有一个愿望,你会有什么愿望?”,
“3.你的职业目标是什么?”,
“4.说出你喜欢哪位艺术家的音乐。”,
“5.你的爱好是什么?”,
“6.列举一些你敬佩的公众人物。”,
“7.你最喜欢的演员是谁?”,
“8.你最爱哪位家庭成员?”,
“9.如果你可以养任何动物作为你的宠物,它会是什么?”,
“10.说出一部你一直计划看但还没来得及看的电影。”,
“11.你最喜欢哪种天气?”,
“12.说出一本你一直喜欢的书或电影。”];
函数showQuestions(myQuestions,quizContainer){
var输出=[];

对于(var j=0;j而言,这里存在一些问题:

  • 页面的
    中有h2,br标记。不要这样做。这些类型的标记属于页面的
    标记

  • 该错误告诉您
    quizContainer
    为空-如果您查看声明测验容器的代码行,它正试图通过ID获取元素-特别是“测验”。它找不到它。可能是因为您没有
    标记

另外-在
showResults
函数中,您有一个循环。在该循环之外,是这一行:

userAnswer =(answerContainers[i].querySelector('input[name=question'+i+']:checked')||{}).value;

您正在尝试使用变量
i
访问
answerContainers
数组,变量
i
位于定义
i
的循环之外。

您的代码中有一些错误-一个放错位置的参数,诸如此类。我找到/修复了阻止成功的变量,并获得了以字符串形式显示的答案。您应该是能从这里拿走它

错误列表:

(1)
toSearch.append()
不正确-使用
toSearch.push()

(2) 您不能有以数字开头的
name
id
属性。
(3) 该行在一些地方不正确:
toSearch.append(answerContainers[i].querySelector('input[name=”“+i+”“])).value;

应该是:
toSearch.push(answerContainers[i].querySelector('input[name=“a'+i+'”).value);

var quizContainer=document.getElementById('quick');
var resultcontainer=document.getElementById('results');
var submitButton=document.getElementById('submit');
var myQuestions=[“1.你梦想的目的地是什么?”,
“2.如果你现在能有一个愿望,你会有什么愿望?”,
“12.说出一本你一直喜欢的书或电影。”];
函数showQuestions(myQuestions,quizContainer){
var输出=[];

对于(让j=0;j抱歉,当我意识到你可以分别发布HTML和JS时,我编辑了这个问题。修复了第一个和第三个问题。我添加了body标记,但showResults功能仍然不起作用。你可以发布更新后的HTML吗?在你的原始问题中。完成后,我发布了带有body标记的HTML addedIt现在起作用了,非常感谢你这一合法性保存了我的问题。)生活!很乐意帮忙-我知道当最后期限迫近,一些小问题让我很难找到其中一个。我所做的是注释掉大部分行,然后使用
console.log()
检查代码的每个阶段。查找/修复一个阶段,然后取消注释下一行并查看其效果。Meilleurs voeux与您的项目非常感谢,下次我肯定会使用该过程进行调试