【问题标题】:Can you make a changeable href and instead of a button have just a textbox你能做一个可变的href,而不是一个按钮,只有一个文本框
【发布时间】:2020-10-16 20:46:33
【问题描述】:

我正在制作一个搜索引擎,我想知道您是否可以制作一个可更改的href,而不是一个button,只需一个textbox。 这是我所拥有的: 所以我可以使用不同的方式让我能够按回车而不是让我知道

<input id="input" type="url"></input>
<button id="link button"><a id="link" style="text-decoration: none; color: inherit;" href="" TARGET="_BLANK">enter</a></button>
<script src="script.js">
    var linkButton = document.getElementById("link button")
    linkButton.onclick = function(){
        var input = document.getElementById("input").value
        document.getElementById("link").setAttribute("href", "http://"+input)
    }
</script>

【问题讨论】:

  • 您想在某人输入内容时重定向他?你需要更清楚一点。

标签: javascript html href


【解决方案1】:

使用这个,我希望它能解决问题: 在这里查看:https://jsfiddle.net/wh3jefz2/2/

document.getElementById('input').onkeypress = function(e){
    if (!e) e = window.event;
    var keyCode = e.keyCode || e.which;
    if (keyCode == '13'){

var input = document.getElementById("input").value

        window.open("http://"+input);
    }
  }

【讨论】:

  • 您在代码中检查了事件是否为falsy 值。如果是这样,您将window.event 分配给e。当onkeypress 事件为falsy 时是什么情况?顺便说一句,keyCodewhich 都已弃用!
  • onkeypress 事件将跟踪已按下的每个键,并且仅在按下回车键(即键 13)时调用。 :)
  • 我的意思是当这种情况:if (!e)true?
  • 当浏览器被任何高级 api 工具(如无头模式的 chrome)控制时。
  • 不明白。在无头模式下有什么区别?例如,在 puppeteer 中,您可以执行以下操作:await page.type('#input', String.fromCharCode(13)); API 文档:page.type - 它应该正确触发事件。
【解决方案2】:

另一种选择是使用表单

function myfunction(){
var inputbox = document.getElementById('inputval');
 document.querySelector('#check').innerText = inputbox.value;
 window.open('http://'+inputbox.value);

}
<form onsubmit="myfunction();return false;">
  <input name="value" id="inputval"/>
  <p id="check"></p>
</form>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-15
    • 2018-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-27
    相关资源
    最近更新 更多