I have a form which, when the button gets clicked by a user, redirects to another page, but when I simulate the click with javascript, the redirect fails. Tha ajax calls are exactly the same (except for the javax.faces.ViewState, but have different results.
The form looks something like:
<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>
The javascript function:
function trapEnter(evt) {
// cut out to save space
if (keycode == 13) {
document.getElementById('form:act').click()
return false;
} else {
return true;
}
}
When I enter 3 into the text input box and click Go, the page is redirected as expected to the target returned by #{form.go}.
When I enter 3 into the text input box and press enter, #{form.go} is called correctly but the page is NOT redirected.
In both cases form.go is called correctly and returns the correct value for the redirection. Could anyone tell me why the javascript click() does not work, and if I'm doing something completely wrong, please tell me how to do it right.
I'm using Firefox 3.5 if that makes a difference.
Thanks.