javascript - 当用户点击回车时,出现新的输入

标签 javascript html

我正在开发一种 HTML 格式的“mad libs”类型的程序——基本上,用户会被问到一系列问题,点击提交后,脚本会打印出一个故事及其答案。

我该如何做到这一点,当用户写下他们的答案时,他们可以按下回车键并出现新问题?我希望问题一一揭晓——只有在用户回答了上一个问题之后。所以它有点类似于动画。有没有办法做到这一点?

window.writeValues = function(form) {
    var Greeting = form.Greeting.value;
    var fname = form.fname.value;
    var celebrity = form.celebrity.value;

    document.getElementById('RESULT').innerHTML = Greeting + " " + fname + " it's " + celebrity;
}
<form action="PayslipServlet" method="get">
  Please enter your First name: <input type="text" name="fname" id="fname"><br/> 
Please enter a celebrity:<input type="text" name="celebrity" id="celebrity"><br/> 
Please enter a greeting: <input type="text" name="Greeting" id="Greeting"><br/>

RESULT: <span id="RESULT"></span><br />
  <input type="button" value="Submit" onClick="writeValues(form)">. <input type="reset">

</form>

最佳答案

如果这正是您正在寻找的东西,那么这会起作用:(抱歉,它很长,我无法帮助自己为您完成,抱歉。:))

var questions = ["please enter your name", "please input a celeberaty", "please enter a greeting"]//questions
var answers = []
var question = 0//number of question you are on
var que = document.getElementById("question")
que.innerHTML = questions[question]
question++

    window.writeValues = function(form) {
        var myinput = document.getElementById("inpbox")//textbox you are getting input from
        var que = document.getElementById("question")
        
        answers.push(myinput.value)//input user input to list
           
        if (question !== 3/*length of list*/) {
          que.innerHTML = questions[question]
          question++
          console.log(question)
        }
        else {
          document.getElementById('RESULT').innerHTML = answers[0]/* get answer 1*/ + " " + answers[1] + " it's " + answers[2];
         }
 }
 
 window.res = function() {
   var myinput = document.getElementById("inpbox")
   question = 0
   que.innerHTML = questions[0]
   question++
   answers = []
   document.getElementById('RESULT').innerHTML = ""
   myinput.value = ""
 }
 window.addEventListener("keydown", function(event) {
 if(event.key == "Enter"){
  writeValues()
  }
 });//if press enter submit
<form action="PayslipServlet" method="get">
  <div id="question">please type your name:</div><input type="text" name="inpbox" id="inpbox"><br/> 


RESULT: <span id="RESULT"></span><br />
  <input type="button" value="Submit" onClick="writeValues(form)">. <button type="button" onClick="res()">reset</button>

</form>

关于javascript - 当用户点击回车时,出现新的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58419184/

相关文章:

javascript - 嵌套 KML 下载而不是显示

javascript - CSS 按钮 : hover, 禁用然后使用 javascript 重新启用

javascript - 尝试使用 jQuery 在点击时切换 iframe YouTube 视频的 URL

javascript - jQuery 1.4.4 和 1.7.2 之间的 .ajax() 发生了什么导致代码中断?

javascript - jQuery 平滑滚动,当页面滚动到相应部分时添加一个 active 类来锚定

javascript - Bootstrap 3 中的链式选择?

jquery - li 菜单选项卡以填充页面宽度(平均)

javascript - CSS -> 遇到非常基本的 CSS 布局问题

html - ion-Checkbox only on box clickable

html - 图像不是固定的高度和宽度以响应所有分辨率