【问题标题】:Form validation on modal confirm模态确认上的表单验证
【发布时间】:2016-01-22 19:17:56
【问题描述】:

这是我的代码。问题是当我单击模式上的确认按钮时表单正在提交。问题是我不知道如何在提交之前先验证表单。这就是我想要的过程。
1. 用户填写字段。
2. 用户单击确认按钮(至少此处必须验证表单)或此处 3. 模态显示,当我单击提交按钮时,模态将关闭,然后将显示表单验证

 <form role="form" id="formfield" action="<?php echo base_url()?>Shop/add_shop" method="post"    enctype="multipart/form-data">

    <div class="row">
        <div class="col-md-10 col-md-offset-1">
            <p><B>Shop name:</b></p>
            <input type="text" class="form-control"  id ="shop_name" name="shop_name">
        </div>
        <div class="col-md-1"></div>
    </div>

<div class="modal fade" id="confirm-submit" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                Confirm Submit
            </div>
            <form action="<?php echo base_url()?>Shop/add_shop" id="wew" method="post">
            <div class="modal-body">
                Are you sure you want to submit the following details?
                <table class="table">
                    <tr>
                        <th>Shop Name: </th>
                        <td ><input type="text " id="s_name" name="shop_name" readonly></td>
                    </tr>
                </table>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
                <button href="#"  onclick="document.getElementById('formfield').submit();" class="btn btn-success success">Submit</button>
            </div>
            </form>
        </div>
    </div>
</div>
<script type="text/javascript">
    $('#submitBtn').click(function() {
         $('#s_name').val($('#shop_name').val());
    });

    $('#submit').click(function(){

        $('#formfield').submit();
    });
</script>

【问题讨论】:

    标签: javascript php jquery html validation


    【解决方案1】:

    您需要处理表单提交事件,并在那里进行验证。

    在下面的示例中,除非isValidtrue,否则不会提交表单

    $("form").submit(function(event) {
      isValid = false; // form is not valid
      if(isValid != true) event.preventDefault(); // prevent the submission
    });
    

    你可以像这样判断一个字段是否为空:

    if($("input[name=shop_name]").val() == '') alert('Shop name cannot be empty!');
    

    还有一些非常好的预先构建的验证库。我个人最喜欢的是 validate.js,它可以在 http://jqueryvalidation.org/ 获得供使用。

    【讨论】:

    • 如何在按钮 onclick=" " 上实现这一点?
    • onclick 的问题是当用户在键盘上点击“回车”时你没有处理,这意味着用户可以很容易地绕过你的表单验证。处理表单提交操作可确保始终验证表单,无论是通过按钮单击(待定按钮具有 type=submit 或其他方式。
    猜你喜欢
    • 1970-01-01
    • 2014-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    • 1970-01-01
    • 2017-02-06
    相关资源
    最近更新 更多