<a4j:commandButton>
действует как кнопка отправки.Следовательно, выполняет действие при нажатии enter.
Когда вы видите сгенерированный код, вы найдете что-то вроде <input type="submit"/>
Чтобы не обращать внимания на то, что вы должны использовать командную ссылку, а чтобы кнопка была похожа, задайте стиль button
следующим образом:
.button {
font: bold 11px Arial;
text-decoration: none;
background-color: #EEEEEE;
color: #333333;
padding: 2px 6px 2px 6px;
border-top: 1px solid #CCCCCC;
border-right: 1px solid #333333;
border-bottom: 1px solid #333333;
border-left: 1px solid #CCCCCC;
}
Если вы все еще хотите перейти с <a4j:commandButton>
, вы можете запретить ввод, используя
onkeypress="var keycode;
if (window.event) { keycode = window.event.keyCode;}else {return true;}
if (keycode == 13) {return false;}else {return true;}"
Но это может произойти, как если бы вынажмите enter даже onfocus
, тогда он не будет отправлять или вызывать действие, лучше его не использовать