Seam/JSF 양식 제출 실행 버튼 onclick 이벤트
문제
쿼리 빌더가 포함된 검색 양식이 있습니다.빌더는 버튼으로 활성화됩니다.이 같은
<h:form id="search_form">
<h:outputLabel for="expression" value="Expression"/>
<h:inputText id="expression" required="true" value="#{searcher.expression}"/>
<button onclick="openBuilder(); return false;">Open Builder</button>
<h:commandButton value="Search" action="#{searcher.search}"/>
</h:form>
결과는 두 가지 모두를 갖는 HTML입니다. <button/>
그리고 <input type="submit"/>
의 형태의.사용자가 표현식 필드에 문자열을 입력하고 제출 버튼을 클릭하지 않고 Enter 키를 누르면 검색이 제출되는 것이 예상되는 동작일 때 쿼리 빌더가 표시됩니다.무엇을 제공합니까?
해결책
HTML 양식의 버튼은 양식을 제출하는 데 사용되는 것으로 가정됩니다.버튼을 입력 유형="버튼"으로 변경하면 문제가 해결됩니다.
또는 버튼 요소에 type="button"을 추가하세요.
다른 팁
먼저 검색 버튼에 ID를 부여합니다.그런 다음 텍스트 상자에서 클라이언트 이벤트를 가로챌 수 있습니다. 온키다운, 다음과 같은 (자바스크립트) 함수를 사용합니다.
function KeyDownHandler(event)
{
// process only the Enter key
if (event.keyCode == 13)
{
// cancel the default submit
event.returnValue=false;
event.cancel = true;
// submit the form by programmatically clicking the specified button
document.getElementById('searchButtonId').click();
}
}
내가 당신을 도와주기를 바랍니다.
제휴하지 않습니다 StackOverflow