【问题标题】:How to disable submit button if checkbox is unchecked?如果未选中复选框,如何禁用提交按钮?
【发布时间】:2013-08-12 17:26:39
【问题描述】:

首先,我没有编写此代码,我也不是 Java 程序员,我只是将其从“反馈表单”页面修改为“请求表单”页面。我的目标是禁用提交按钮并提醒用户需要勾选复选框和/或在未选中复选框时阻止它提交数据。我想尽可能避免使用 javascript。

这是代码的sn-p:

    public Serializable getKey() {

    String email = parameters.getParameter("email", "");
    String message = parameters.getParameter("message", "");
    String page = parameters.getParameter("page", "unknown");

    return HashUtil.hash(email + "-" + message + "-" + page);
}

/**
 * Generate the cache validity object.
 */
public SourceValidity getValidity() {
    return NOPValidity.SHARED_INSTANCE;
}

public void addPageMeta(PageMeta pageMeta) throws SAXException,
        WingException, SQLException, IOException,
        AuthorizeException {
    pageMeta.addMetadata("title").addContent(T_title);
    pageMeta.addTrailLink(contextPath + "/", T_dspace_home);
    pageMeta.addTrail().addContent(T_trail);
}

public void addBody(Body body) throws SAXException, WingException,
        UIException, SQLException, IOException, AuthorizeException {
    // Build the item viewer division.
    Division ill = body.addInteractiveDivision("ill-form",
            contextPath + "/ill", Division.METHOD_POST, "primary");
    ill.setHead(T_head);
    ill.addPara(T_para1);
    List form = ill.addList("form", List.TYPE_FORM);
    Text email = form.addItem().addText("email");
    email.setAutofocus("autofocus");
    email.setLabel(T_email);
    email.setHelp(T_email_help);
    email.setValue(parameters.getParameter("email", ""));
    TextArea message = form.addItem().addTextArea("message");
    message.setLabel(T_message);
    message.setValue(parameters.getParameter("message", ""));
    CheckBox copyright = form.addItem().addCheckBox("accept");
    String selected = !parameters.getParameter("accept", "true").equalsIgnoreCase("false") ? "true" : "false";
    copyright.setOptionSelected(selected);
    copyright.addOption("accept", T_copyright_agree);
    copyright.setLabel(T_copyright_label);
    copyright.setHelp(T_copyright);
    form.addItem().addButton("submit").setValue(T_submit);
    ill.addHidden("page").setValue(parameters.getParameter("page", "unknown"));
}
}

提前感谢您的帮助。

【问题讨论】:

  • “我想避免使用 javascript。” JS 将是我的自然选择。为什么要避免呢?
  • 如果你不是 java 开发者,你应该在javascript
  • 我们说的是哪个执行环境?
  • @AndrewThompson,如果我将使用 JS,是否有没有 JS 后备?或者如果复选框未选中并且 JS 被禁用,表单仍然会提交吗?
  • "如果我要使用 JS,有没有 JS fallback?" 没有,默认启用,onLoad 禁用。如果用户的浏览器没有使用 JS,那么他们浏览大多数互联网网站(例如 Facebook 或 SO)的体验会非常下降,他们会习惯的。

标签: java checkbox submit


【解决方案1】:

您可以将定义复选框的 HTML 更改为如下所示:-

onClick="EnableSubmit(this)"

类似:-

<input type="checkbox" name="ABC" value="XYZ" onClick="EnableSubmit(this)">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-23
    • 2020-03-20
    • 2012-04-18
    • 1970-01-01
    • 2011-07-24
    • 1970-01-01
    • 1970-01-01
    • 2016-02-08
    相关资源
    最近更新 更多