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