从同一个div获取多个输入

时间:2015-03-10 04:18:31

标签: javascript html

我想在js中创建一个小词。我是一个新手,所以idk什么是完全错误的。我精通C,C ++和android,但我似乎无法在我的代码中找到问题。

当我使用login命令时,当我在用户名后按Enter键时,它会告诉我无法识别的命令。键入help以获取命令列表。 IDK什么错了。

function command(){
var output = '';

todo = getinput();

if(todo === 'clear'){
    document.getElementById('output').innerHTML = '';
    return;
}else if(todo =='login'){
    var auth = login();
    if (auth == 1) output = 'Success';
    else output = 'Failed';
} else if(todo.length > 0){
    output = 'Unrecognized command. Type <b>help</b> for a list of commands.<hr>';
}

document.getElementById('output').innerHTML = document.getElementById('output').innerHTML + output;}

function login() {
document.getElementById('output').innerHTML = document.getElementById('output').innerHTML + 'User Name: ';
setTimeout(loop, 0);
var uname = getinput();
setTimeout(loop, 0);
document.getElementById('output').innerHTML = document.getElementById('output').innerHTML + '3' + uname + '3' + '<BR>Password: ';
var pass = getinput();
//if (uname == 'root' && pass = 'toor') return 1;
//else return 0;
return 0;} 

function getinput(){
var input = document.getElementById('input').value;
document.getElementById('input').value = '';
return input; }

1 个答案:

答案 0 :(得分:0)

替换:

output = 'Unrecognized command. Type <b>help</b> 

output = 'Unrecognized command ('+todo+'). Type <b>help</b> 

它可能会返回您的用户名。您的代码不完整,但看起来您正在构建终端。每次执行任何操作时,您的命令()都会执行。这个过程是:

execution 1) var auth = login();
execution 2) command('myUser')
execution 3) todo = getinput();
execution 4) else if(todo.length > 0){
result: myUser is greater than 0, spit out error

我认为你可以从这里解决它。考虑使用jQuery。

编辑:您需要确定什么是命令以及什么是变量输入。您可以设置一个类似“commandLock = true”的变量。每次输入时,如果commandLock为true,它将不执行命令()函数 AGAIN (因为它每次提交终端时都会执行)。

var commandLock=false;
function command() {
    if(commandLock==true) return false;

    // determine the command
    checkCommandAndRunFunction(); // decides to execute login()
}
function login() {
    commandLock=true;
    var inp = $('#terminalInput').val(); // jQuery
    // the rest
}

如果您的循环实际上没有完成脚本,可能您应该使用回调http://recurial.com/programming/understanding-callback-functions-in-javascript/http://www.w3schools.com/jquery/jquery_callback.asp