jQuery - 表单不验证

Posted

技术标签:

【中文标题】jQuery - 表单不验证【英文标题】:jQuery - Form not validating 【发布时间】:2017-02-25 15:07:29 【问题描述】:

在下面的表单中,当我点击提交时,它会提醒111,但不会发送 ajax 请求。它改为发送页面刷新提交请求。为什么?

<form id="post_answer_form" method="POST" action="some_url">
    <fieldset>
        <textarea id="qanswer" name="qanswer"></textarea>
        <button type="submit">Post Your Answer </button>
        <button type="submit" style="display: none;">Update </button>
    </fieldset>
</form>

我正在根据一些规则对其进行验证,如下所示:

$(document).on('submit', '#post_answer_form', function()
    alert(111)
    tinymce.triggerSave();
).validate(
    ignore: '',
    rules: 
        qanswer: 
            required: true,
        
    ,
    submitHandler: function(form) 
        alert(111)
        $.ajax(
            ...
        );
        return false
    ,
);

【问题讨论】:

什么是`tinymce.triggerSave();' ?无论表单是否有效,您是否都试图触发保存? 嗯,我正在使用一个需要在验证之前保存的库。 【参考方案1】:

您的验证不起作用,因为您没有在表单上应用验证。你可以试试下面的代码。

$(function()   
    $('#post_answer_form').submit(function(e) 
        e.preventDefault();    
        tinymce.triggerSave();
        if($('#post_answer_form').valid())
            // Submit form using ajax or using .submit() 
            $.ajax(
                ...
            );
        
    ); 

    $('#post_answer_form').validate(
        ignore: '',
        onsubmit : false,
        rules: 
            qanswer: 
                required: true,
            
        
    );
);

【讨论】:

@pythonEnthusiast 你试过上面的代码吗?代码是不言自明的,但如果您不理解,请告诉我。我会做更多解释。 我的另一个查询与 Jquery Validation 相关。你能看看吗。 ***.com/questions/40092806/…

以上是关于jQuery - 表单不验证的主要内容,如果未能解决你的问题,请参考以下文章

jquery+ajax验证不通过也提交表单问题处理

jquery验证表单是不是为空

jQuery 不显眼的表单验证器在重置表单时不会隐藏错误消息

HTML表单的jQuery验证

jquery验证表单不起作用[关闭]

Jquery表单验证不起作用