Javascript 表单验证不需要';ajax调用后无法工作

Javascript 表单验证不需要';ajax调用后无法工作,javascript,jquery,ajax,validation,html-validation,Javascript,Jquery,Ajax,Validation,Html Validation,使用ajax调用加载表单后,表单验证无法正常工作。我怎样才能解决这个问题 $(文档).ready(函数(){ //$('添加产品')。提交(功能(e){ $(文档).on('submit','add#u product',函数(e){ e、 预防默认值(); $.post('script/test.php'{ naam:$('#naam').val() }) .完成(功能(响应){ 引导盒。警报(响应); 母公司。淡出(“缓慢”); }) .fail(函数(){ bootbox.alert('

使用ajax调用加载表单后,表单验证无法正常工作。我怎样才能解决这个问题

$(文档).ready(函数(){
//$('添加产品')。提交(功能(e){
$(文档).on('submit','add#u product',函数(e){
e、 预防默认值();
$.post('script/test.php'{
naam:$('#naam').val()
})
.完成(功能(响应){
引导盒。警报(响应);
母公司。淡出(“缓慢”);
})
.fail(函数(){
bootbox.alert('error');
})
});
});

Productnaam*

托沃根
如前所述

.submit()
方法是第一个变体中
.on(“submit”,handler)
和第三个变体中
.trigger(“submit”)
的快捷方式

因此,这两种结构的行为应该是相同的

此外,您正在将
提交
事件从
#添加产品
委托给
文档
,这是因为它现在必须侦听文档中的所有提交事件,因此性能低下

可能是由于事件委托,您的代码中可能有一个
e.stopPropagation
,它会阻止事件向文档的自然冒泡,因此不会执行处理程序

如果可能的话,将范围限制得比监听文档要好得多

请尝试以下操作:

$(document).ready(function(){
        $('#add_product').on('submit', function(e) {
        e.preventDefault();
        $.post('script/test.php',
            {naam: $('#naam').val()})
            .done(function(response){
                bootbox.alert(response);
                parent.fadeOut('slow');
            })
            .fail(function(){
                bootbox.alert('error');
            })
    });
});

尝试在处理程序中添加“return false”:

$(document).on('submit','#add_product',function(e){
        e.preventDefault();
        $.post('script/test.php',
            {naam: $('#naam').val()})
            .done(function(response){
                bootbox.alert(response);
                parent.fadeOut('slow');
            })
            .fail(function(){
                bootbox.alert('error');
            })
        return false;
    });
请尝试以下操作:

$(document).ready(function(){
        $('#add_product').on('submit', function(e) {
        e.preventDefault();
        $.post('script/test.php',
            {naam: $('#naam').val()})
            .done(function(response){
                bootbox.alert(response);
                parent.fadeOut('slow');
            })
            .fail(function(){
                bootbox.alert('error');
            })
    });
});
$(文档).ready(函数(){
$('add#u product')。关于('submit',函数(e){
e、 预防默认值();
$.post('script/test.php',{naam:$('#naam').val()})
.完成(功能(响应){
引导盒。警报(响应);
母公司。淡出(“缓慢”);
})
.fail(函数(){
bootbox.alert('error');
})
});
});

Productnaam*

托沃根
您是否尝试了“添加产品”而不是“添加产品”?@readyfreddy Tnx,但这似乎不起作用。Tnx,但如果我在('submit',函数(e)上使用$(“#添加产品”)他无法记录单击并重新加载页面。我发现即使没有jquery,它也不会检查所需字段。在使用ajax调用加载表单之后,验证似乎无法正常工作。在使用ajax调用加载表单之后,验证似乎无法正常工作。在使用ajax调用加载表单之后,验证似乎无法正常工作er表单加载了一个ajax调用