【问题标题】:Send a user to a certain URL depending on his text field input根据用户的文本字段输入将用户发送到某个 URL
【发布时间】:2013-09-23 14:18:50
【问题描述】:

基本上我想要ff。完成:

用户在我的文本字段中输入文本。如果他的文本与我的“列表”中的文本匹配,则他在点击提交按钮后会被发送到某个 URL。

我在这个网站上找到了一个类似的代码,但他只是一个特定的文本值。 [Get input text field from HTML into JavaScript and go to URL]

我希望我从我提供的列表中确定用户的文本输入。我的列表将有很多文本/网址,并且会继续增长,因此手动将值输入到脚本中对我不起作用。我希望能够编辑列表(可能在管理面板中或其他什么地方? ) 而不是 js 代码。

例子:

  • 输入文本:aaaa,转到 URL1
  • 输入文本:mmne,转到 URL2
  • 输入文本:lhfj,转到 URL3
  • 输入文字:tigf,转到URL4
  • 输入文本:gred,转到 URL5

谁能帮我解决这个问题?谢谢!

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    希望对你有帮助

    var Something =$("#TextBoxID").val();
    
    if(Something == "aaaa")
    {
    window.location.href = 'URL1'; //Will take you to URL1
    } 
    ......
    ......
    

    【讨论】:

    • 是的,但我不想手动将输入文本放入代码中。我希望代码只从我提供的列表中获取所有内容
    【解决方案2】:

    如果你想在管理控制台上配置列表,你需要有某种服务器端技术,比如 php(或者 node.js,如果你想继续使用 javascript)。您需要考虑这些数据将存储在哪里。一种可能性是使用 ajax(例如使用 jQuery)获取文本/url 对列表并将数据存储在某个数据库中,或者在您的情况下,纯文本文件可能就足够了。您正在寻找的功能在 cient 端使用纯 HTML 和 JavaScript 是不可能实现的。

    【讨论】:

    • AJAX 在这件事上是一种矫枉过正。在大多数情况下,URL 在运行时很少更改,使用 PHP 或 ASP 标签加载它们就足够了。
    【解决方案3】:

    如果您将 URL 存储在客户端(HTML/JS 页面),请使用这样的函数:

    function determineAndGoToURL(text) {
        var url = "#";
        switch(text) {
        case "aaaa":
            url="www.google.com";
            break;
        case "bbbb":
            url = "www.bing.com";
            break;
        default:
            url = "www.yahoo.com";
            break;
        }
    
        window.location.href = "http://" + url;
    }
    

    如果您在服务器端有更新的 URL 列表,请将它们从服务器端获取到客户端,并使用 for 语句对其进行迭代。

    我建议,您可以从服务器以 JSON 格式获取它们,然后使用 JSON.parse(text) 从它们中创建一个对象,然后进行迭代。

    【讨论】:

      猜你喜欢
      • 2017-08-09
      • 2013-10-14
      • 1970-01-01
      • 2018-06-15
      • 2017-09-19
      • 2012-06-10
      • 2015-04-06
      • 1970-01-01
      • 2021-01-17
      相关资源
      最近更新 更多