【问题标题】:How can I set a variable to a text input and then make it appear on screen如何将变量设置为文本输入,然后使其显示在屏幕上
【发布时间】:2016-06-24 18:07:38
【问题描述】:

我正在为学校制作基于文本的游戏,但我一直在尝试将变量设置为文本输入。我想要发生的是玩家类型从输入开始,它执行 if 语句中的内容。但是从那里我希望玩家输入一个用户名,然后将“名称”变量设置为他们输入的内容,但没有将名称保存为“开始”。

//js

var name = "";
var beginBeenTo = false;
    if (beginBeenTo == false) {
        if (input == "START") {

            beginBeenTo = true;

            page = page + 1;
            healthPoints = 25;

            soundEveningBreeze.play();
            $("#welcome_message").show().insertBefore("#placeholder").delay(3000).fadeOut(3000);
            $("<br><p class='text'>You there, what is your name?</p>").hide().insertBefore("#placeholder").delay(7000).fadeIn(3000);

            if (input != "" || namingBeenTo == false) {
                name = input;
            }
        }
    }

document.getElementById("print_name").innerHTML = name;

【问题讨论】:

  • 你能发布你的html吗?
  • $("input_form") 应该是 $("#input_form"),如果你的意思是一个 id 为 input_form 的输入。
  • @Henderikus : 您用来获取用户名的输入字段是什么?你能提供一些jsfiddle吗?。

标签: javascript input var


【解决方案1】:

很简单,观察一些事件(在我的例子中是keyup),检查输入值是否为START,如果是则要求输入用户名。

var started = false;
var username = '';
$('input').on('keyup', function(){
  var tmpValue = $(this).val();
  if(started){
    username = tmpValue
  }
  if(tmpValue === 'START') {
    started = true;
    $(this).val('')
    $(this).attr('placeholder','Username')
  }
  
  $('#username').text(username)
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<span id="username"></span>
<br>
<input type="text" placeholder="Type START to play">

【讨论】:

  • 这不是我的意思,你之前的更像是它。当他们输入输入时我需要一个变量来更新
  • 用户名当前更新一次 started == true - 我不确定这有什么不同。
【解决方案2】:

可以使用这样的函数来完成:

var name = "";    
$("form").submit(function() {
var input = $("#command_input").val().toUpperCase();
if (input == "START") {
name = $("#input_form").val();
}
}
document.getElementById("print_name").innerHTML = name;

您缺少 #(hashtag) 之一

这段代码可以工作

感谢和欢呼

【讨论】:

  • 您也不需要document.getElementById,因为您可以简单地使用$
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-21
  • 2013-04-27
  • 1970-01-01
  • 2012-05-23
  • 2019-07-02
  • 1970-01-01
相关资源
最近更新 更多