Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 提交多个表单的ajax表单之前的Jquery验证_Javascript_Php_Jquery_Ajax_Forms - Fatal编程技术网

Javascript 提交多个表单的ajax表单之前的Jquery验证

Javascript 提交多个表单的ajax表单之前的Jquery验证,javascript,php,jquery,ajax,forms,Javascript,Php,Jquery,Ajax,Forms,虽然这是一个常见的问题,但我四处搜索并尝试了所有的尝试。。但是没有用。。jquery验证的问题仍然存在于ajax调用之前。。表单未经任何验证就被提交 请提供我可能出错的任何信息 <script type="text/javascript"> $(document).ready(function () { $('#myform').validate({ rules: { ob

虽然这是一个常见的问题,但我四处搜索并尝试了所有的尝试。。但是没有用。。jquery验证的问题仍然存在于ajax调用之前。。表单未经任何验证就被提交

请提供我可能出错的任何信息

<script type="text/javascript">
    $(document).ready(function () {


    $('#myform').validate({ 

                    rules: {
                        objective: {
                            required: true,
                            minlength: 150
                        },
                    },

                submitHandler: function ()
                    {
                            var dataString = $("#myform").serializeArray();
                            $("#flash").show();
                            $.ajax({
                                url: "xyz.php",
                                type: "POST",
                                data: dataString,
                                cache: false,
                                async: false,
                                error: function (jqXHR, textStatus, errorThrown) {
                                    alert('error');
                                },
                                success: function (data) {
                                    $("#flash").hide();
                                        $('#info').html(data.objective);
                                        $('.success').fadeIn(200).show();
                                    $("#objective").focus();
                                }
                            });
                            return false;

                    }
            });

    });
</script>

$(文档).ready(函数(){
$('#myform')。验证({
规则:{
目标:{
要求:正确,
最小长度:150
},
},
submitHandler:函数()
{
var dataString=$(“#myform”).serializeArray();
$(“#flash”).show();
$.ajax({
url:“xyz.php”,
类型:“POST”,
数据:dataString,
cache:false,
async:false,
错误:函数(jqXHR、textStatus、errorshown){
警报(“错误”);
},
成功:功能(数据){
$(“#flash”).hide();
$('#info').html(data.objective);
$('.success').fadeIn(200.show();
$(“#目标”).focus();
}
});
返回false;
}
});
});
html


客观的
添加数据

同一页面上还有三个类似的表单…

在单击处理程序的开头添加
e.preventDefault

$("#editbtn").click(function (e) {
    e.preventDefault();
    // rest of the code.
}

它将阻止在不通过js代码的情况下发送表单。

您可以按照@Romain所说的操作,或者将HTML更改为:

<input type="button" id="editbtn" class="btn btn-sm btn-success  pull-right hovertip"  data-toggle="tooltip"  data-original-title=" Add " value="Add Data" />


因此表单不提交

如果您打算通过JavaScript触发提交,那么您可以将按钮键入“按钮”,而不是提交:

<button type="button"  id="editbtn" class="btn btn-sm btn-success  pull-right hovertip"  data-toggle="tooltip"  data-original-title=" Add ">Add Data</button>
添加数据

这将阻止执行默认的提交操作,并允许您通过onclick方法处理所有问题。

对不起,到底是什么问题?@atjoshi,请指出这3个表单面临的问题。使用#myForm应该将上述调用限制为仅使用您正在使用的表单,除非您对多个表单使用相同的ID,等等。所有表单都有不同的ID。。。所以呈现了这个演示表单,一次提交一个…现在它阻止了提交totally@atjoshi是的,您可以添加
$(“#myform”).submit()
若要在需要时提交表单,我已编辑更改并使用submitHnadler完全删除cick事件。。工作正常,但。。用于填充输入文本的编辑按钮在第二个clcick上不起作用。。任何一个正在工作但在第二次单击时。。第一次单击是将validtor附加到表单,第二次单击是对其进行验证。。功能为第二次点击。
<button type="button"  id="editbtn" class="btn btn-sm btn-success  pull-right hovertip"  data-toggle="tooltip"  data-original-title=" Add ">Add Data</button>