此页面在 newwindow 中打开。 我有一个文本框和两个按钮(h:commandbutton和a4j:commandButton)。
我将光标焦点移动(设置)到文本字段。
我的问题是,我从文本字段点击输入按钮,然后自动调用h:comandButton操作并关闭新窗口。如何避免这种情况。
但是,我需要,当我点击输入按钮时,将光标焦点移动到 a4j:commandButton
<f:view>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
function a4jButtonClick()
{
alert("A4J Command Buton clicked...");
}
</script>
</head>
<body>
<h:form id="sampleForm">
<rich:panel id="samplePanel">
<h:outputText value="User Name : "/>
<h:inputText/>
<h:commandButton value="Closing-CommandButton"
onclick="javascript:window.close();return false;"/>
<a4j:commandButton value="A4JCommandButton" onclick="a4jButtonClick()"/>
</rich:panel>
</h:form>
</body>
</html>
</f:view>
如果我点击了textfiled的输入按钮,我想调用脚本警报(“A4J Command Buton clicked ...”);
帮帮我。 提前谢谢。
答案 0 :(得分:1)
尝试在onclick处理程序中添加return false:
<h:commandButton value="HCommandButton" onclick="hButtonClick();return false;"/>
<a4j:commandButton value="A4JCommandButton" onclick="a4jButtonClick();return false;"/>
但是按下按钮后,您的表单将不会被提交。
答案 1 :(得分:0)
当您按下键盘上的Enter / Return键时,标记中的第一个按钮将被激活。
因此,您需要将标记中按钮的顺序更改为:
<a4j:commandButton value="A4JCommandButton" onclick="a4jButtonClick()"/>
<h:commandButton value="Closing-CommandButton" onclick="javascript:window.close();return false;"/>
请记住你仍然可以将它们设为以使其符合原始顺序,因此设计不会改变。