ユーザーが入力したときにテキストボックスからテキストを取得しようとしています。これにより、ユーザーがコマンドを入力したときに、テキストを解析してそれに応じて情報を表示できます。ただし、私が書いている関数は、文字がテキストボックスに入力される前に、ボックスからテキストを取得しているように見えます。入力した文字を入力する前に、関数がテキストボックスからコンテンツを取得しないようにするにはどうすればよいですか?キーのIDを取得し、それに応じて入力された文字列を変更することを検討しましたが、もっと良い方法があるはずだと思います。
コード:
$('#inputConsoleForm').keydown(function(event){
//Get key code
var code = (event.keyCode ? event.keyCode : event.which);
//Get console text (doesn't behave as expected)
var consoleCommand = document.inputConsoleForm.console.value;
function parseConsoleCommand(consoleCommand) {
/* Returns true if command is valid*/
}
if(code === 13) {
event.preventDefault();
if(!parseConsoleCommand(consoleCommand))
alert("INVALID COMMAND LINE");
else
attemptExecute();//Runs the command
}
if(code === 32 || (code >= 48 && code <= 123) || code === 61 || code === 109 || code === 188 || code === 8) {
if(parseConsoleCommand(consoleCommand)){
$(document.inputConsoleForm.console).css("background-color", "#FFDFDF");
}
else{
$(document.inputConsoleForm.console).css("background-color", "");
}
}
});