【问题标题】:Multiple Checkbox - Change Message "Please check this box if you want to proceed"多个复选框 - 更改消息“如果您想继续,请选中此框”
【发布时间】:2022-03-06 16:14:32
【问题描述】:

我有一个多选复选框表单,我在其中添加了一个 JS 以确保访问者至少选择一个选项

<div class="form-group options">
<label class="control-label col-md-4" for="optiontext">Specify an option</label>
<div class="col-md-6">
    <input type="checkbox" name="option[]" value="option1" required/> Option 1<br>
    <input type="checkbox" name="option[]" value="option2" required/> Option 2<br>
    <input type="checkbox" name="option[]" value="option3" required/> Option 3<br>
    <input type="checkbox" name="option[]" value="option4" required/> Option 4<br>
    <input type="checkbox" name="option[]" value="option5" required/> Option 5<br>
    <input type="checkbox" name="option[]" value="option6" required/> Option 6<br>
    <input type="checkbox" name="option[]" value="option7" required/>  Option 7
</div>

这就是JS

$(function(){
var requiredCheckboxes = $('.options :checkbox[required]');
requiredCheckboxes.change(function(){
    if(requiredCheckboxes.is(':checked')) {
        requiredCheckboxes.removeAttr('required');
    } else {
        requiredCheckboxes.attr('required', 'required');
    }
});

现在一切正常,唯一的问题是出现的错误消息是 如果您想继续,请选中此框,但我希望消息是 请选择至少有一个选项可以继续,如此处图片所示。

我该怎么做?

【问题讨论】:

  • 请问您点击查看源代码时,与此消息关联的标签和属性是什么?如果这个问题没有答案,你能告诉我你在这里使用的插件是什么或脚本名称
  • 我实际上在这个项目中使用了 Kohana 框架。

标签: javascript php jquery html


【解决方案1】:

借助 HTML5 事件 oninvalid 控制自定义消息非常简单

代码:

<input type="checkbox" value="option1"
   oninvalid="this.setCustomValidity('Please select at least one option to proceed')">

【讨论】:

  • L.Kelmendi 做得很好,简单而有效的解决方案[赞]
  • 这可行,但是当我不选中该框并单击提交时,然后我选中该框,它再次显示错误。
【解决方案2】:

我是这样实现的:

    <html>
    <head>
        <title>test</title>
    </head>
    <body>
        <form>
            <input type="checkbox" id="sterms" value="Agreed-to-Terms" onclick ="if (!this.checked) {this.setCustomValidity('برای ادامه لطفا این گزینه را تیک بزنید.');} else {this.setCustomValidity('');}" required>
                                <a href="privacy-policy.html">قوانین و شرایط استفاده را می پذیرم.</a>
            <button type="submit" class="form-control-submit-button">انجام آزمایش</button>
        </form>
        <script type="text/javascript">
            document.getElementById("sterms").setCustomValidity('برای ادامه لطفا این گزینه را تیک بزنید.');
        </script>
    </body>
</html>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-13
    • 1970-01-01
    • 2021-11-23
    • 2013-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多