0

さて、これはかなり簡単なことですが、何かが足りないと思います。私はそのような入力フィールドを持っています。

<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です。

<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関数は、ユーザーが望むものを解析できるように、そのクエリ文字列をURLに戻すことを想定していました。言語にASP.NETとC#を使用しています。

だから問題は、ユーザーが入力したものをパラメーターとしてURLに戻すにはどうすればよいですか?

4

2 に答える 2

1

encodeURI またはencodeURIComponentのいずれかを使用する必要があります

var location = document.location.href + "&query=" + encodeURI(value);
于 2012-09-05T20:26:39.263 に答える
0

まず、フォームの機能を再作成します。フォームだけがあれば、それは機能します。

コードでは、false を返すことでキーの入力アクションを停止します。イベント ハンドラにも return を追加する必要があります。これは、クエリ文字列の値がまだ存在しないことも想定しています。

<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>
于 2012-09-05T20:29:32.793 に答える