如何从查询字符串中的输入字段发回文本?

时间:2012-09-05 20:18:30

标签: c# javascript asp.net search

好的,所以这应该是一件相当容易的事,但我想我错过了一些东西。我有一个像这样的输入字段。

<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中返回作为用户键入的参数?

2 个答案:

答案 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>