将用户输入值插入函数
问题描述:
我意识到这可能是一个简单的问题,但我是网络开发的新手,对我来说很裸露。我正在尝试通过html输入框输入用户输入值,并将其作为我函数内的值(代码中的negKeyword函数更具体)。我认为发生的问题是,这个输入值被存储为一个变量,所以当代码首次存储在内存中时,它被存储为“”,因为用户还没有输入任何东西。我如何得到它,以便当用户输入一些代替空白的东西或“”与用户输入的内容“将用户输入值插入函数
接下来我想要发生的事情是用户将点击一个按钮,然后它会比较用户输入的内容和“negKeyword”函数输出的内容并给出结果是否匹配(此操作已被演示在我的代码中的booleanKeyword函数中)。
这是我的代码。
var input = document.getElementById("input").value;
var arr = ['no', 'not', 'checked'];
var text = ''; //JS output variable.
var keyword = 'leak'; //Individual keyword.
function negKeyword() {
\t \t
for (i = 0; i < arr.length; i++) {
\t
\t if (text == input) { break; } \t
\t text = arr[i] + ' ' + keyword;
\t
\t }
\t return text;
}
\t
function booleanKeyword() { \t
\t if (input == negKeyword()) {
\t \t
\t \t document.getElementById("result").style.color="green";
\t \t document.getElementById("result").innerHTML="Match";
\t
\t } else {
\t
\t \t document.getElementById("result").style.color="red";
\t \t document.getElementById("result").innerHTML="No Match";
\t
\t }
\t
}
document.getElementById("result2").innerHTML=keyword;
<label for="Full Negative Keyword">Negative Keyword</label> <input id="input" type="text" />
<div id="message">Result: <span id="result"></span></div>
<div id="message">Keyword: <span id="result2"></span></div>
<button id="test" onclick="booleanKeyword()">Click to Test</button>
答
你可以得到它,并分配给同一个变量(但就是按一下按钮后调用的函数内)再次检索输入的值。
var input = document.getElementById("input").value;
var arr = ['no', 'not', 'checked'];
var text = ''; //JS output variable.
var keyword = 'leak'; //Individual keyword.
function negKeyword() {
input = document.getElementById("input").value;
\t \t
for (i = 0; i < arr.length; i++) {
\t
\t if (text == input) { break; } \t
\t text = arr[i] + ' ' + keyword;
\t
\t }
\t return text;
}
\t
function booleanKeyword() { \t
input = document.getElementById("input").value;//The variable is reassigned, only after the click
\t if (input == negKeyword()) {
\t \t
\t \t document.getElementById("result").style.color="green";
\t \t document.getElementById("result").innerHTML="Match";
\t
\t } else {
\t
\t \t document.getElementById("result").style.color="red";
\t \t document.getElementById("result").innerHTML="No Match";
\t
\t }
\t
}
document.getElementById("result2").innerHTML=keyword;
编辑:添加了相同的代码来negKeyword()
功能,因为它需要的输入了。
答
它不工作,因为你的变量输入总是“”。每次单击按钮时都必须为其分配新值。我只是将您的代码移动到BooleanKeyword()函数中进行输入。现在一切正常。
每当这样的事情不能正常工作时,只要尝试记录/提醒值即可。例如,你可以只提醒(输入+''+ negKeyword()); booleanKeyword()函数的顶部,你会看到自己的问题。
var input;
var arr = ['no', 'not', 'checked'];
var text = ''; //JS output variable.
var keyword = 'leak'; //Individual keyword.
function negKeyword() {
for (i = 0; i < arr.length; i++) {
if (text == input) { break; }
text = arr[i] + ' ' + keyword;
}
return text;
}
function booleanKeyword() {
input = document.getElementById("input").value;
if (input == negKeyword()) {
document.getElementById("result").style.color="green";
document.getElementById("result").innerHTML="Match";
} else {
document.getElementById("result").style.color="red";
document.getElementById("result").innerHTML="No Match";
}
}
document.getElementById("result2").innerHTML=keyword;
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<label for="Full Negative Keyword">Negative Keyword</label> <input id="input" type="text" />
<div id="message">Result: <span id="result"></span></div>
<div id="message">Keyword: <span id="result2"></span></div>
<button id="test" onclick="booleanKeyword()">Click to Test</button>
</html>
嗨,你想,当点击时,它会重置输入值? –
基本上可以,那是用户输入可以在函数中使用的。 –