【问题标题】:Modifying a link with user input使用用户输入修改链接
【发布时间】:2012-09-04 18:02:07
【问题描述】:

我正在为一个函数编写一小段代码,实际上我在另一个 question's answer 中找到了这些代码,这是一个巨大的帮助。但是,尝试修改脚本的 sn-p 给我带来了一些麻烦:我正在尝试更改此位,以便不是使用链接更改显示的文本,而是使用静态文本修改链接(例如“单击这里") 或按钮元素。

<a id="reflectedlink" href="http://www.google.com/search">http://www.google.com/search</a>
<input id="searchterm"/>
<script type="text/javascript">
   var link= document.getElementById('reflectedlink');
   var input= document.getElementById('searchterm');
   input.onchange=input.onkeyup= function() 
      {
         link.search= '?q='+encodeURIComponent(input.value);
         link.firstChild.data= link.href;     
      }; 
</script>

我真的很想有一个简单的按钮,可以在新窗口中打开修改后的链接。我已经尝试寻找类似的解决方案,但我确定我错过了它只是因为我不知道我在寻找什么。

【问题讨论】:

  • 我不完全确定你在问什么。点击时它显示的链接不是已经打开了一个窗口吗?
  • 更具体地说,我可以用静态图像代替文本,但我正在尝试实现一个按钮元素。我知道有时它们无法在 IE 中工作,但我还不太熟悉使用表单。
  • Josh - 它确实有效,但我想用按钮替换显示链接的文本。
  • 所以你在看添加一个输入按钮标签?
  • 只要这仍然能让我保持脚本的其余部分完好无损,我相信如此。再说一次,我不知道该叫什么我要找的东西,因此很难找到它。

标签: javascript


【解决方案1】:

Modified your fiddle:

HTML

Search <input id="searchterm" type="text" />

JavaScript

var searchterm = document.getElementById('searchterm');
var base_url = 'http://www.google.com/search?q=';
searchterm.onchange = searchterm.onkeyup = function(e) {
    e = e || event;
    if ( (e.which || e.keyCode) == 13 ){
        window.open(base_url + encodeURIComponent(searchterm.value), '_blank');
    }
};

更多关于window.open函数is here.的信息

【讨论】:

  • 这是一个非凡的帮助,谢谢。比我原来笨重的图形按钮更精简。
  • 谢谢,刚刚用了这里的答案:Detecting which key is pressed(兼容IE8及更早版本)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多