如何使文本输入字段根据用户输入打开不同的链接

时间:2013-06-25 04:54:25

标签: javascript html forms redirect input

我无法想象这是非常困难但我一直试图找出最好的方法来做到这一点,老实说,我完全迷失了。现在我感到很沮丧,所以如果知道如何做到这一点的人可以帮助我,那就太棒了。

我需要一个可以嵌入到我的html脚本中的文本框,根据用户输入文本打开不同的链接。

所以在英语中这里是我需要的基础知识。我非常感激工作剧本。

* stands for “any characters”


If text input contains    bbb   open link htttp://example1.com/bbb

otherwise

If text input contains   *zzz*  open link htttp://example2.com/something-predefined*zzz*

otherwise

If text input contains   *xxx* open link htttp://example3.com/something-predefined*xxx*

otherwise 

 If text input contains     *   open link htttp://example3.com/*

3 个答案:

答案 0 :(得分:0)

伪代码:

function parmatch(input):
  if input matches /^bbb$/
    open 'http://example1.com/{input}'
    return
  if input matches /zzz/
    open 'http://example2.com/something-predefined{input}'
    return
  if input matches /xxx/
    open 'http://example3.com/something-predefined{input}'
    return

MDN's article on regular expressions in JavaScript

答案 1 :(得分:0)

    the following code only example for what you ask. here change the <a href=""> for console.

<input type="text" id="picker" />

    $('#picker').keyup(function() {
      var value = $("#picker").val();
         if(value == "1")
         {
             console.log("go to home");


         }
            else if(value == "2")
            {
                console.log("go to login");
            }
            else
                alert("plz enter valid input");
      })

答案 2 :(得分:0)

要获得更完整的答案,我建议如下:

var btn = document.getElementById('fire'),
    input = document.getElementById('demo'),
    output = document.getElementById('output'),
    pageMap = {
        'aaa' : 'pageA',
        'bbb' : 'pageB',
        'ccc' : 'pageC'
    };

function loadPage (input, output, map) {
    var v = input.value,
        url = 'http://example.com/',
        text = 'textContent' in document ? 'textContent' : 'innerText';
    for (var i in map) {
        if (map.hasOwnProperty(i) && v.indexOf(i) > -1) {
            // the following shows the URL you'd end up with
            output[text] = url + map[i];
            // to *load* the URL, remove the above line,
            // and uncomment the following:
            // window.location = url + map[i];
        }
    }
}

btn.addEventListener('click', function(e){
    e.preventDefault();
    loadPage(input, output, pageMap);
});

JS Fiddle demo

然而, 鼓励您避免学习JavaScript(正如Ignacio's answer的评论中所述);请花点时间阅读至少,我在下面提供的参考文献。

参考文献: