好的,所以这应该是一件相当容易的事,但我想我错过了一些东西。我有一个像这样的输入字段。
<input id="jobSearchField" class="searchField" runat="server"
onkeypress="javascript:GoToFunc(event, this.value)" type="text"
onfocus="if (this.value == 'Seach jobs by JobID, JobTitle, Keywords, or Location') this.value=''"
value="Seach jobs by JobID, JobTitle, Keywords, or Location" />
我也有一个右边的按钮。
<button id="filterSubmit" runat="server" class="filterSubmit">Submit</button>
以下是我尝试过的javascript和#34;建立。
<script type="text/javascript">
function GoToFunc(e, value) {
if (e.keyCode == 13) {
var location = document.location.href + "&query=" + value;
document.location.href = location;
document.open();
}
}
</script>
我尝试过的javascript函数&#34;构建是假设将该查询字符串传递回url,以便我可以解析用户想要的内容。我正在使用ASP.NET和C#语言。
所以问题是我如何在url中返回作为用户键入的参数?
答案 0 :(得分:1)
您应该使用encodeURI或encodeURIComponent
var location = document.location.href + "&query=" + encodeURI(value);
答案 1 :(得分:0)
首先,您正在重新创建表单的功能。如果你只有一个表格就可以了。
对于您的代码,请返回false以停止回车键操作。您还需要将返回添加到事件处理程序。这也期望查询字符串值不存在。
<input id="jobSearchField" class="searchField" runat="server"
onkeypress="return GoToFunc(event, this.value)" type="text"
onfocus="if (this.value == 'Seach jobs by JobID, JobTitle, Keywords, or Location') this.value=''"
value="Seach jobs by JobID, JobTitle, Keywords, or Location" />
<script type="text/javascript">
function GoToFunc(e, value) {
if (e.keyCode == 13) {
var newLocation = window.location.href + "&query=" + encodeURIComponent(value);
window.location.href = newLocation;
return false; //stop event key
}
}
</script>