我正在尝试获取通过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() {
for (i = 0; i < arr.length; i++) {
if (text == input) { break; }
text = arr[i] + ' ' + keyword;
}
return text;
}
function booleanKeyword() {
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;
<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>
答案 0 :(得分:0)
您可以通过获取输入值并分配给相同的变量(但在单击按钮后调用的函数内部)来再次检索输入值。
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;
for (i = 0; i < arr.length; i++) {
if (text == input) { break; }
text = arr[i] + ' ' + keyword;
}
return text;
}
function booleanKeyword() {
input = document.getElementById("input").value;//The variable is reassigned, only after the click
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;
编辑:将相同的代码添加到negKeyword()
函数,因为它也需要输入。
答案 1 :(得分:0)
它无效,因为您的变量输入始终为“”。每次单击按钮时都必须为其分配新值。我刚刚在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>