我正在尝试在文本区域中调用特定的 javascript 函数进行特定输入,但它不起作用
I'm trying to make a specific input into a text area call a specific javascript function, but it won't work
所以为了提供一点细节,我正在尝试制作一个互动小说游戏或文字冒险。我有一个表格,其中将输入游戏的所有 "commands"。我正在处理第一个命令,它是字符串 "start" 以调用提示。只是为了测试代码,正确完成后我会提示说 "success!"。但是,一旦我打开网络浏览器进行测试,提示就会在我键入命令之前触发。这是代码。
<html>
<head>
<script type="text/javascript" src="scripts/engine.js"></script>
</head>
<body>
<form id="testForm"> <input type="text" name="">
</form>
</body>
</html>
然后是 javascript。
var input = document.getElementById("testForm");
if (input = "start") {
prompt("Success!");
}
您需要像这样检查输入的值
var input = document.getElementById("inputID");
var value = input.value;
代码将始终 运行 直接,因为它没有事件处理程序。您可以添加一个触发它的按钮
document.getElementById('button').addEventListener('click', function () {
var input = document.getElementById("inputID");
if (input.value === 'start') {
// Do something
}
});
或者如果您更喜欢表单提交事件:
document.getElementById('testForm').addEventListener('submit', function () {
var input = document.getElementById("inputID");
if (input.value === 'start') {
// Do something
}
});
试试这个:
<html>
<head>
<script type="text/javascript" src="scripts/engine.js"></script>
</head>
<body>
<form id="testForm">
<input type="text" id="myInput">
</form>
<script>
var myForm = document.getElementById("testForm");// get the form element.
var myInput = document.getElementById("myInput");// get the input element
myForm.onsubmit = function() { // when the form is submitted, execute this function.
if (myInput.value == "start") { // if the value of the input equals 'start', show prompt.
prompt("Success!");
}
return false; //return false, so the form doesn't get submitted.
};
</script>
</body>
</html>
编辑:
添加了提交事件处理程序,returns false,因此表单不会被提交。
所以为了提供一点细节,我正在尝试制作一个互动小说游戏或文字冒险。我有一个表格,其中将输入游戏的所有 "commands"。我正在处理第一个命令,它是字符串 "start" 以调用提示。只是为了测试代码,正确完成后我会提示说 "success!"。但是,一旦我打开网络浏览器进行测试,提示就会在我键入命令之前触发。这是代码。
<html>
<head>
<script type="text/javascript" src="scripts/engine.js"></script>
</head>
<body>
<form id="testForm"> <input type="text" name="">
</form>
</body>
</html>
然后是 javascript。
var input = document.getElementById("testForm");
if (input = "start") {
prompt("Success!");
}
您需要像这样检查输入的值
var input = document.getElementById("inputID");
var value = input.value;
代码将始终 运行 直接,因为它没有事件处理程序。您可以添加一个触发它的按钮
document.getElementById('button').addEventListener('click', function () {
var input = document.getElementById("inputID");
if (input.value === 'start') {
// Do something
}
});
或者如果您更喜欢表单提交事件:
document.getElementById('testForm').addEventListener('submit', function () {
var input = document.getElementById("inputID");
if (input.value === 'start') {
// Do something
}
});
试试这个:
<html>
<head>
<script type="text/javascript" src="scripts/engine.js"></script>
</head>
<body>
<form id="testForm">
<input type="text" id="myInput">
</form>
<script>
var myForm = document.getElementById("testForm");// get the form element.
var myInput = document.getElementById("myInput");// get the input element
myForm.onsubmit = function() { // when the form is submitted, execute this function.
if (myInput.value == "start") { // if the value of the input equals 'start', show prompt.
prompt("Success!");
}
return false; //return false, so the form doesn't get submitted.
};
</script>
</body>
</html>
编辑: 添加了提交事件处理程序,returns false,因此表单不会被提交。