マスターページで検索バーと検索ボタンが表示されました。モバイルキーボードの入力または検索ボタンを処理するために、私はキーコードイベントをチェックする機能を持っています。キーコードが検索キーの場合、検索ボタンのクリックイベントが発生します。 Androidの携帯電話ではすべて動作しますが、現在のページがホームページである場合は、検索結果ページ(正しいページ)にリダイレクトされますが、代わりに常にホームページに移動します。私は見つけたいくつかの解決策を試しましたが、不運です。私が試した解決策のいくつかは、window.location.href、window.location.replaceを変更して、css cursor:pointerとonclick属性を検索ボタンに配置していましたが、これはうまくいきませんでした。キーボードのiPhone検索ボタンが正しいページにリダイレクトされない
私はiPhoneの検索ボタンがどのように機能するかについて迷っています。
更新:フォームにアクション属性を表示するために、btn.click()行の後に警告を表示しました。意外にも、アラートで[OK]をクリックすると、正しいページにリダイレクトされ、アラートが削除され、同じエラーに戻ります。私はおかしくなりそうだ。
HTML:
<asp:TextBox ID="searchboxMobile" runat="server" CssClass="m-index-tbx-
search search-div-textbox" Text="Type Part Number Here"
onfocus="OnSearchBoxFocus('searchboxMobile');"
onblur="OnSearchBoxLostFocus('searchboxMobile');"
onkeypress="doClick('searchButtonMobile', event);" ></asp:TextBox>
<asp:Button ID="searchButtonMobile" runat="server"
PostBackUrl="~/SearchResults.aspx"
formnovalidate="formnovalidate" CssClass="search-button m-search-button" />
jQueryの - 機能は、検索キーをキャプチャしたり、キー入力することができたとして動作しているようだが、クリックイベントは正常に動作していないことのようです。私はこのコードをwindow.location.href = "〜/ SearchResults.aspx"とwindow.location.replace( "〜/ SearchResults.aspx")に置き換えて正しいページにリダイレクトさせたが動作しなかった。
function doClick(buttonName, e) {
//the purpose of this function is to allow the enter key to
//point to the correct button to click.
var key;
if (window.event) {
key = window.event.keyCode; //IE
} else {
key = e.which; //firefox
}
if (key == 13) {
//Get the button the user wants to have clicked
var btn = document.getElementById(buttonName);
if (btn != null) { //If we find the button click it
btn.click();
event.keyCode = 0;
}
}
}