在 H:命令按钮中使用带有操作的 OnClick
use onclick with action in h:commandbutton
我想选择一个用户并在弹出页面中对其进行编辑。
<h:form>
<h:selectOneMenu id="friendselected" value="#{userBean.selecteduser}">
<f:selectItems value="#{userBean.users}" />
</h:selectOneMenu>
<h:commandButton value="Edit User" action="#{userBean.edituser()}" onclick="#{userBean.JSPopup()}" />
</h:form>
弹出代码
public String JSPopup() {
return "javascript:void window.open(' UserEdit.xhtml ',' name ','width=700,height=500,toolbar=0,menubar=0,location=0,status=0,scrollbars=0,resizable=1,left=0,top=0');return false;";
}
首先,我将选择用户并将其 id 设置为 selecteduser。在弹出页面中后,我看到它正在输入和编辑。
public void edituser()
{
initializeJdbc();
String aSQL="select * from users where UserID="+selecteduser;
Statement st = null;
ResultSet rs = null;
try {
st = (Statement) connect.createStatement();
rs = st.executeQuery(aSQL);
if(rs.next()) {
fullname=rs.getString("FullName");
username=rs.getString("UserName");
password=rs.getString("Password");
gender=rs.getString("Gender").charAt(0);
BirthDate=rs.getString("BirthDate");
Tel=rs.getString("Tel");
Email=rs.getString("Email");
Address=rs.getString("Address");
}
} catch (Exception ex) {
}
}
userBean.JSPopup()
中的return false;
意味着不应启动默认事件,因此永远不会调用您的操作。删除它,它应该没问题。
另一个提示,目前不会给您带来问题,但值得注意。onclick 是一个值属性,所以当你在其中放置一个方法表达式时,它不会调用方法 bean onclick,而是在页面呈现时立即调用它(只需在 JSPopup 方法中设置调试,即可看到这一点)。如果我是你,我会用 js 代码替换方法表达式,例如
onclick="javascript:void window.open(' UserEdit.xhtml ',' name ','width=700,height=500,toolbar=0,menubar=0,location=0,status=0,scrollbars=0,resizable=1,left=0,top=0');"
或者创建一个函数并从 onclick 调用它。目前您没有遇到任何问题,因为该方法仅返回 js 代码,但将来,如果您向该方法添加其他逻辑,您可能会得到意外结果。
相关文章:
- JavaScript撤消onclick操作
- 改变“;onClick"这个jQuery的操作从清除输入文本改为将输入文本添加到下面的列表中
- 如何使用 JavaScript 操作 html 按钮元素的“onclick”事件
- html+jquery(绑定onclick事件以执行onclick之前的操作)
- 如何在ruby on rails中对onclick javascript调用操作
- 在h:commandButton中实际操作之后的OnClick操作
- 将多个操作传递给反应引导按钮中的 onClick 事件
- 当表单操作使用Apache Shiro转到jsp页面时,onClick不起作用
- 在 H:命令按钮中使用带有操作的 OnClick
- 如何使onClick执行与将鼠标悬停在
- 标签上相同的操作
- 在 html “onclick” 事件中组合许多类似的操作
- 如何使用javascript/jQuery替换onclick操作(使用regex)
- 单击一行时重定向到操作的正确方式(onclick)Yii2
- 使用javascript onclick实现多个DOM操作函数
- onclick操作无法按预期使用单选按钮
- Ember onClick事件未完成操作
- 避免在JavaScript中执行elem.onclick覆盖操作
- Javascript-复选框onclick-+操作
- 按钮onclick()可选择使用jquery或mvc3操作
- 切换按钮操作OnClick-JQuery+Rails