사용자가 버튼을 클릭하면 다른 페이지로 리디렉션되는 양식이 있지만 자바 스크립트로 클릭을 시뮬레이션 할 때 리디렉션 실패합니다. 타 아약스 호출은 javax.faces.ViewState를 제외하고 (정확히 동일하지만 서로 다른 결과를javascript click()과 JSF를 사용하는 버튼을 클릭하는 사용자 간의 차이점
양식이 같은 같습니다.
<h:form id="form" onkeypress="trapEnter(event);">
<h:outputText value="Number" />
<h:inputText value="#{form.number}" />
<a4j:commandButton id="act" value="Go" action="#{form.go}" />
</h:form>
자바 스크립트 함수 :
function trapEnter(evt) {
// cut out to save space
if (keycode == 13) {
document.getElementById('form:act').click()
return false;
} else {
return true;
}
}
을 텍스트 입력란에 3을 입력하고 이동을 클릭하면 # {form.go}이 (가) 반환 한 대상에 페이지가 예상대로 리디렉션됩니다.
텍스트 입력 상자에 3을 입력하고를 누릅니다. # {form.go}이 (가) 올바르게 호출되었지만 페이지가 리디렉션되지 않습니다.
두 경우 모두 form.go가 올바르게 호출되고 리디렉션에 올바른 값을 반환합니다. 누구든지 자바 스크립트 클릭() 작동하지 않는 이유를 말할 수 있었고, 내가 완전히 잘못한 일을하는 경우, 올바르게 수행하는 방법을 알려주십시오.
차이점이 있다면 Firefox 3.5를 사용하고 있습니다.
감사합니다.
form.submit()을 호출 할 수 없습니까? – Robusto
+1 - @Robusto이 예제에서는 true이지만, 필요한 시나리오가 다를 수 있습니다. – RubyDubee
@Robusto :이 특별한 경우에는 불가능합니다. – BalusC