gpt4 book ai didi

location.href 的 JavaScript 问题

转载 作者:行者123 更新时间:2023-11-28 14:05:23 25 4
gpt4 key购买 nike

我有一个文本框,每当用户按下某个键时,都会检查用户是否按下了 Enter 键。如果按下回车键,我想在文本框中添加所有信息并将用户转移到不同的网址。

<script language="javascript" type="text/javascript">
function checkEnter(e){ //e is event object passed from function invocation
var characterCode;

if(e && e.which){ //if which property of event object is supported (NN4)
e = e;
characterCode = e.which; //character code is contained in NN4's which property
}
else{
e = event;
characterCode = e.keyCode; //character code is contained in IE's keyCode property
}

if (characterCode == 13) { //if generated character code is equal to ascii 13 (if enter key)
var searchLink = '/Search/?Keywords=' + document.getElementById('<%= searchBox.ClientID %>').value;

transferUser(searchLink);
return false;
}
else{
return true;
}
}

function transferUser(url) {
window.location.href = url;
window.location.replace(url);
}
</script>

Search: <input name="ctl00$searchBox" type="text" id="ctl00_searchBox" class="header_line_search_box_textbox" onKeyPress="checkEnter(event);" />

我已经尝试了所有可能的组合,但没有任何反应。该网站只是自行刷新。

我还需要以某种方式将用户的文本转换为 html 安全的,必须像 aspx 中的 HttpUtility.EncodeUrl 一样。

最佳答案

我不确定您是否需要这一切。以下 HTML 标记的正常内置行为完全按照您的需要执行,无需任何 JavaScript:

<form method="get" action="/Search/">
<input type="text" name="Keywords">
</form>

但是,重要的是您的 UI 必须有某种方式来提交不涉及击键的表单。这有两个原因:

  1. 正如 Jorn 指出的那样, key 提交表单可能并不明显。
  2. 没有提交按钮可能会影响使用其他输入设备的用户的可用性。

鉴于上述原因,建议如下:

<form method="get" action="/Search/">
<input type="text" name="Keywords">
<input type="submit" value="Search or 'go' or whatever">
</form>

关于location.href 的 JavaScript 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1785425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com