カスタム検索のVisualForceページがあります。検索語用のinputText領域があります。Enterキーを押すと、その値をURLパラメーターに渡しません。JavaScriptを介してそれを行おうとしています。
URLをapex/pageName?s=ValueEnteredInSearchBoxにします
これは私が今持っているもので、機能していません。
<body id="bodyPortalCaseSearch">
<apex:form id="frmPortalCaseSearch">
<apex:pageBlock id="pbPortalCaseSearch">
<div class="table">
<div class="tableRow">
<div id="searchDiv" class="tableCell">
<apex:inputText id="searchinput" style="width:85%; height:25px;margin:0; padding: 0px 6px 0px;"
title="Portal_Search_Phrase" value="{!portalSearchModel.searchTerm}" onkeypress="insertSearchParam()"
/>
<apex:commandLink id="goSearch" title="Search" style="text-decoration:none;"
rerender="asQuestions,asAnswers,asSolutions,asIdeas,asCases,asContent">Search</apex:commandLink>
<script type="text/javascript">
function insertSearchParam() {
var val = document.getElementById("{!$Component.searchinput}").value;
document.location.search = "?s=" + val;
searches();
}
document.getElementById("{!$Component.searchinput}").onkeypress = function (e) {
if (!e) e = window.event; // resolve event instance
if (e.keyCode == '13') {
insertSearchParam();
return false;
}
}
</script>