Javascript Jquery输入文本

Javascript Jquery输入文本,javascript,jquery,html,if-statement,Javascript,Jquery,Html,If Statement,我一直在寻找类似的问题/答案,但没有找到。如果这是重复的,请提前道歉 我正在用JS创建一个基于文本的游戏。这是我第一次从头开始创建项目。所有文本都出现在#dialog div中,我希望用户输入与if else函数选项相对应,并在中为新选项生成文本 我有第一个过渡(当点击时,从游戏介绍中的文本变为场景一中的文本)正在工作。不起作用的是选择文本输入。我输入的任何内容都会刷新游戏。我还添加了一个警报来测试它,但它不会运行 我的另一个问题是,我在if/else语句中输入的新选项的变量是否将按编码方式运行

我一直在寻找类似的问题/答案,但没有找到。如果这是重复的,请提前道歉

我正在用JS创建一个基于文本的游戏。这是我第一次从头开始创建项目。所有文本都出现在#dialog div中,我希望用户输入与if else函数选项相对应,并在中为新选项生成文本

我有第一个过渡(当点击时,从游戏介绍中的文本变为场景一中的文本)正在工作。不起作用的是选择文本输入。我输入的任何内容都会刷新游戏。我还添加了一个警报来测试它,但它不会运行

我的另一个问题是,我在if/else语句中输入的新选项的变量是否将按编码方式运行,或者我是否需要进行更改。有些选项会出现多次,所以我希望它在多个场景中运行

HTML

    <div id="dialog">
    </div>
     <div class="form">
      <form id="my-form"> 
       <input type="text" id="userData" placeholder="enter move here">
       <button type="submit" class="btn">play</button>
     </form>
    </div>    
//游戏介绍文字

    var introGame = $(function () {
       $(addParagraph).append('<p> My Text.. </p>');
    });
var introGame=$(函数(){
$(添加段落).append(“mytext..

”); });
//游戏的第一场。玩家选择1、2或3。选择触发对话框中的新文本,并设置新的选择或玩家结果

    var scene1 = $(function () {
    $(introGame).click(function() {
    $(addParagraph).text('Move Question Text');
    $(addParagraph).append("<p> 1.Choice Description </p>");
    $(addParagraph).append("<p> 2.Choice Description </p>");
    $(addParagraph).append("<p> 3.Choice Description </p>");
    $(addParagraph).append("<p> Enter: 1, 2, or 3 below </p>");

    var playMove = function() {
      $("#my-form").submit(function() {
        var text = userMove;
        var move = template(text);

    if(text == '') {
       return false;
    } else if(text == '1') {
     $(scene1).click(function () {
       evasiveManuevers();
     });  
    }else if(text == '2') {
      $(scene1).click(function () {
        lightSpeed();
      });
    } else if(text == '3') {
       $(scene1).click(function () {
         fightEnemy();
       });
    } else {
          alert("Working!");
         }    
       });
      };
     });
    });
var scene1=$(函数(){
$(游戏介绍)。单击(函数(){
$(添加段落).text('移动问题文本');
$(添加段落)。追加(“1.选项说明”

”; $(添加段落)。追加(“2.选项说明”

”; $(添加段落)。追加(“3.选项说明”

”; $(添加段落)。追加(在下面输入:1、2或3)

”; var playMove=函数(){ $(“#我的表格”).submit(函数(){ var text=userMove; var move=模板(文本); 如果(文本=“”){ 返回false; }else if(text='1'){ $(场景1)。单击(函数(){ evasiveManuevers(); }); }else if(text='2'){ $(场景1)。单击(函数(){ 光速(); }); }else if(text='3'){ $(场景1)。单击(函数(){ 战敌(); }); }否则{ 警惕(“工作!”); } }); }; }); });

提前谢谢你

我不认为你的IF语句会这样运行。您可以在场景中执行IF条件测试1单击功能,如下所示:

$(scene1).click(function (){
  if(text == '1') {
     evasiveManuevers();
   } else {
  if(text == '2') {
     lightSpeed();
   } else {
        // etc 
   }

})

我猜你所做的错事是期望

var userMove = $("#userData").val();
将在比赛中改变
$(“#userData”).val()
是一个值,而不是一个函数,因此如果我正确理解了您的需求,您应该创建一个如下的getter

var getUserMove = function(){ $("#userData").val(); };
并将其用作
var text=getUserMove()。但不清楚你的朋友在哪里

var addParagraph = $('#dialog');
var userMove = $("#userData").val();

代码是(是否在某个处理程序中?我建议将整个代码显示为一个脚本,而不是将其拆分为某些部分)。

在粘贴任何代码之前,请将其格式化为易于理解的格式。我尝试使其易于理解。我把代码分块。我还应该做什么?请原谅,因为我是初学者。好的,谢谢你的反馈。我尽量使它容易理解。我将代码分块,并描述每个函数正在做或应该做什么。我还应该做什么?请原谅,因为我是一个完全的初学者。基本上,输入文本表单不工作,if-else语句不运行。我正试图解决这些问题。是的,这正是我试图做的。我不确定获取输入然后在if-else语句中使用它的代码是什么样子的。很抱歉造成混淆,AddParague和userMove都是在程序开始时声明的全局变量。#对话框是每个移动函数的附加文本所在位置。
var addParagraph = $('#dialog');
var userMove = $("#userData").val();