如何禁用提交按钮,直到按下其他按钮?

发布于 2024-12-06 03:15:20 字数 426 浏览 1 评论 0原文

我有一个简单的 JSF 表单:

<h:form>
   <h:inputText value="#{textBean.firstName}"/>
   <h:inputText value="#{textBean.lastName}"/>
   <h:commandButton value="confirm" action="textBean.confirm"/>
   <h:commandButton value="submit" action="textBean.submit"/>
</h:form>

在单击“提交”之前,用户必须按“确认”按钮。否则,“提交”按钮旁边会显示错误消息。如果没有预先按下确认,用户无法单击提交按钮。在UI的一层上做是非常可取的。有些人可能会对此提出一些建议?

I have a simple JSF form:

<h:form>
   <h:inputText value="#{textBean.firstName}"/>
   <h:inputText value="#{textBean.lastName}"/>
   <h:commandButton value="confirm" action="textBean.confirm"/>
   <h:commandButton value="submit" action="textBean.submit"/>
</h:form>

It is necessary that before you click "submit" user must press the button "confirm". Otherwise, next to the button "submit" display an error message. A user can not click the submit button, if not pre-pressed to confirm. It is very desirable to do it on a layer of the UI. Some might suggest something about this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

网名女生简单气质 2024-12-13 03:15:20

您可能想要更改逻辑,以便在单击提交按钮时向用户显示确认对话框。像这样简单的事情:

<h:form>
   <h:inputText value="#{textBean.firstName}"/>
   <h:inputText value="#{textBean.lastName}"/>
   <h:commandButton value="submit" action="#{textBean.submit}" onclick="return confirm('Confirm form submit?');"/>
</h:form>

否则,如果您想获得上述行为,您可以禁用/隐藏提交按钮,直到用户单击确认按钮,例如:

<h:form>
   <h:inputText value="#{textBean.firstName}"/>
   <h:inputText value="#{textBean.lastName}"/>
   <h:commandButton value="confirm" action="#{textBean.confirm}"/>
   <h:commandButton value="submit" action="#{textBean.submit}" disabled="#{textBean.btnDisabled}"/>
</h:form>

如果您想隐藏,可以将禁用属性替换为渲染属性按钮。它需要一个布尔值。可以在确认方法中将此布尔变量设置为 true,以便在请求返回时启用该按钮。

You might want to change the logic so that on click of the submit button a confirmation dialog box is presented to the user. Something simple like this:

<h:form>
   <h:inputText value="#{textBean.firstName}"/>
   <h:inputText value="#{textBean.lastName}"/>
   <h:commandButton value="submit" action="#{textBean.submit}" onclick="return confirm('Confirm form submit?');"/>
</h:form>

Otherwise if you want to get the behaviour mentioned above you could disable / hide the submit button until the user has clicked the confirm button, something like:

<h:form>
   <h:inputText value="#{textBean.firstName}"/>
   <h:inputText value="#{textBean.lastName}"/>
   <h:commandButton value="confirm" action="#{textBean.confirm}"/>
   <h:commandButton value="submit" action="#{textBean.submit}" disabled="#{textBean.btnDisabled}"/>
</h:form>

The disabled attribute can be replaced with the rendered attribute if you want to hide the button. It takes a boolean. This boolean variable can be set in your confirm method to true so that when the request comes back the button will be enabled.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文