在Javascript中创建Ask函数

时间:2014-06-06 23:38:08

标签: javascript

我对Javascript很陌生,所以我想我会从基于文本的游戏开始。我需要做的是能够检测游戏何时等待命令,以及游戏何时等待答案。这就是我所拥有的。

var textIn = document.getElementById('input-textbox');
var textOut = document.getElementById("output-textbox");

function process(input) {
    var command = input.split(" ")[0];

    if(command == "help") { 
        return "Help dialog";
    }else{
        return "Unknown command: " + input + ". Please type /help for a list of commands.";
    }
}

function go() {
    var input = textIn.value;
    textIn.value = "";
    output(process(input));
}

function output(text){
    textOut.value += text + "\n";
}

function createPlayer(){
    output("Please Type Your Name")
    // Wait for player response and set it as a variable.
}

createPlayer();

实现这一目标的最佳方式是什么?

2 个答案:

答案 0 :(得分:1)

您有几个选项,可以使用onclick并有一个用户点击的按钮,然后调用您的功能来填写HTML答案的答案(id =" output-textbox"在您的例子)< - 我的投票*。

...或者您可以选择检查哪个元素是聚焦的,或者是否在输入框中点击了tab / enter,然后在选项卡/输入后点击您的答案字段。我认为后一种方法,你应该有一个HTML5占位符属性来说"完成后点击标签{enter}"或者沿着这些行的某些东西然后在关注元素时检查选项卡 - 这可以通过jQuery选择器完成或覆盖该输入元素的当前焦点方法或者可能使用document.activeElement来查看关注的内容,然后如果它是重点关注的答案,输入不是填空等等,等等。

*如果您不熟悉Javascript,我说有两个按钮(一个标记为'回答'一个标记为' clear'),然后使用HTML按钮元素的onclick属性轻松调用Javascript方法。这将让你开始并更直接,仔细检查你有什么工作DOM操作,并继续使用更少的按钮和更光滑的DOM操作。

祝你好运!

答案 1 :(得分:0)

一个非常简单的实现是使用带有提交侦听器的表单,如果一切都按计划取消,则取消提交。用户可以在输入中输入文本并在textarea中查看结果。

textarea已禁用,因此用户无法输入文本,但脚本可以。用户可以输入输入然后只需按Enter键,或选择提交按钮并按Enter键,或单击提交按钮。该脚本在提交时运行,并取消它以使它们保持在同一页面上。

如果禁用脚本,表单将提交,您可以在服务器上处理。

<form onsubmit="go(); return false;">
  <input id="input-textbox">
  <textarea id="output-textbox" rows="20" cols="50" disabled></textarea>
  <input type="submit" value="Ask question">
</form>