我需要创建一个在其上添加了文本字段的网页。我已经为文本字段设置了一个ID(例如,“ custom”)。现在,如果文本字段包含某些单词,我想修改网页。
例如,如果文本字段包含一个单词,例如苹果,我想做点什么。
如果文本字段包含ball,我想做其他事情。
以此类推。
我发现了:
<script>
var check=document.getElementById("custom").value == "text_value";
//check will be true or false
if (check){ //do something if true}
if(!check){//do something if false}
</script>
我什至不知道它是否正确,但是,我意识到,它无法管理多个条件。因为,如果文本包含苹果,则不包含球,则会产生奇怪的行为。
那么,我该如何实现呢?
答案 0 :(得分:3)
查看以下 Vanilla JavaScript (普通JavaScript)示例。
即输入bla bla apple
,您会得到预期的结果。
function doSomething() {
var text = document.getElementById("myInput").value;
if (text.includes("apple")) {
console.log("do something special because text contains apple");
}
else if (text.includes("ball")) {
console.log("do something special because text contains ball");
}
else {
console.log("text contains no special word");
}
}
Enter text: <input type="text" id="myInput" onkeyup="doSomething()">
答案 1 :(得分:1)
请运行下面的代码段。
触发器为onkeyup
,已被选择用于演示。您可以根据需要进行更改,例如,按下按钮后运行javascript函数watchWords
。
function watchWords()
{
var watch_words = ['apple', 'lemon', 'watermelon'];
var textvalue = document.getElementById('name').value;
for(var i=0; i<watch_words.length; i++) {
if (~textvalue.indexOf(watch_words[i])){
if(watch_words[i] == 'apple'){
console.log('Apple was found');
}
if(watch_words[i] == 'lemon'){
console.log('Lemon was found');
}
if(watch_words[i] == 'watermelon'){
console.log('Watermelon was found');
}
}
}
}
<input type="text" name="name" id="name" onkeyup="watchWords()" />
答案 2 :(得分:0)
一种选择是使用由您要标识的{
"id": ["user_H_1"],
"gender": ["male"],
"id.1": ["user_H_1e", "user_H_2e"],
"gender.1": ["female", null],
"age": [null, "62"]
}
索引的对象,该对象的属性值是您要为每个函数运行的函数,例如:
.value
答案 3 :(得分:0)
使用jQuery on keyup
事件监听器和includes
函数:
$("#custom").on("keyup", function() {
if (this.value.includes("apple")) {
// do something
}
});
上面的代码将在用户每次按键时检查custom
输入,并在输入字符串包含单词if
的情况下执行apple
块。
答案 4 :(得分:0)
<script>
function common(arr1, arr2) {
var newArr = [];
newArr = arr1.filter(function(v){ return arr2.indexOf(v) >= 0;})
newArr.concat(arr2.filter(function(v){ return newArr.indexOf(v) >= 0;}));
return newArr;
}
var string = document.getElementById("custom").value;
var items = string.split(" ");
var yourlist = ["apple", "banana", "tomato"];
var intersection = common(yourlist, items);
for(i=0; i<intersection.length; i++){
console.log(intersection[i]);
var z = yourlist.indexOf(intersection[i]);
/* Your Logic Goes Here.. */
if(z == 0){
/* do something */
}else{
/* do something else */
}
}
</script>