以前は、検索ボックスに検索フィールド、アドレスを入力し、キーボードの ENTER キーを押して検索結果を取得することができました。
いくつかの変更を加えましたが、ENTER キーの誤動作の原因となった変更を特定できません。送信する代わりに、ページを更新します。
ページの更新を停止するために、次のそれぞれを試しました。
<form onSubmit="return false;">
<form onkeypress="return event.keyCode != 13">
それぞれが機能します。
ただし、ENTER キーを押して結果を表示することはできなくなりました。
これを修正するにはどうすればよいですか?
以下はjsです:
function getData()
{
dijit.byId("advanceSearchDialog").hide();
var form = document.getElementById("searchForm");
var form2 = document.getElementById("featuresForm")
var searchText = form.searchBox.value.replace(/-/g,"");
form.searchBox.value = searchText;
if (searchText != "")
{
// collect features to search for:
var features = [ ];
var featTypes = form2.featType;
for ( var f = 0; f < featTypes.length; ++f )
{
if ( featTypes[f].checked ) features.push( featTypes[f].value );
}
featureList = "'" + features.join("','") + "'";
searchMsg("Searching for '" + searchText + "' ...");
featureID = "";
var accord = dijit.byId("accordianContainer");
var resultsPane = dijit.byId("resultsPane");
accord.selectChild(resultsPane,true);
doGlobalSearch( searchText, featureList );
}
else
{
searchMsg("No search criteria entered, enter search text");
}
}
function searchKey(e){
// special case for IE to capture <enter> in the search box
var key = window.event ? e.keyCode : e.which;
var keychar = String.fromCharCode(key);
if (key == 13)
getData();
}
<form id="searchForm" class="search_field" method="get" action="">
<input name="searchBox" id="searchBox" value="" />
<button type="button" onclick="getData()"><img src="images/magnifying_glass.png" alt="Search" /></button>
</form>
ありがとう