小编Rob*_*eld的帖子

JavaScript:如何将用户输入与数组进行比较?

我一直在尝试为学校项目制作一个非常简单的搜索引擎,但我不知道如何将收到的用户输入(来自输入文本框的字符串)与数组中的数据(NodeList具有一堆名称的对象)。

我将详细说明我想要实现的目标:我有一个 HTML 页面,其中包含一个输入表单和一堆电影标题(格式),我想将用户在输入表单中键入的内容与电影进行比较页面上的标题。如果用户输入与其中一个电影标题匹配,我希望突出显示该电影,如果输入与任何电影不匹配,我只想弹出一个警告框,提示输入与任何电影都不匹配。

我一直在尝试这样做:

var All_Titles = document.getElementsByTagName("h3");
var User_Input = document.forms["search_form"];

function InputValidation() {
    var x = document.forms["search_form"]["input_box"].value;

    if (x == "" || x == null) {
        alert("You haven't entered anything");
    } else {
        Search();
    }
}

function Search() {
    if (User_Input == All_Titles) {
        document.writeln("It worked!");
    } else {
        alert("No matched movies");
    }
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我首先在名为“User_Input”的变量中捕获用户输入,并对电影标题执行相同的操作。

然后,我检查用户是否确实在搜索表单中输入了任何文本;如果他们没有这样做,他们会收到一条错误消息,如果他们这样做了,我将运行 Search() 函数,该函数的定义如下。

棘手的部分来了:我真的不知道如何将用户输入与我拥有的 进行比较!我已经用 If 语句进行了尝试,如您所见,但这似乎不起作用。

谁能帮助我解决这个问题?

html javascript arrays

1
推荐指数
1
解决办法
1万
查看次数

jQuery/JavaScript:在jQuery中使用JavaScript数组

我是jQuery的新手,我有以下问题:

我制作了一个JS脚本,将用户输入与一组<h3>代表电影片头的元素进行比较.

userinput = userinput.toLowerCase(); 
var list = document.getElementsByTagName("h3"); //dit wordt de lijst met titels
var i = list.length,
    html, flag = false,
    matches = []; 

while (i--)//here, we loop through the list of <h3>'s
{
    var html = list[i].innerHTML.toLowerCase();
    if (-1 < html.indexOf(userinput))
    {
        flag = true;
        matches.push(list[i]); 
        list[i].className = "matched";
    }
}

if (!flag)//no match 
{if (-1 !== html.indexOf(userinput))
    alert('No match found !');
}
else//match!
{
    for (var i = 0; i < matches.length; i++)
    { …
Run Code Online (Sandbox Code Playgroud)

html javascript arrays jquery

1
推荐指数
1
解决办法
79
查看次数

标签 统计

arrays ×2

html ×2

javascript ×2

jquery ×1