如果提交按钮的名称已提交,如何使用jQuery验证和提交表单?

时间:2017-09-07 01:11:59

标签: jquery html forms

我在控制台" Uncaught TypeError: form.submit is not a function"

中出现此错误

输入按钮:<input id="submit" class="button_text" type="submit" name="submit" value="Submit"/>

我找到了很多解决方案,说不应该提交姓名。我已经尝试更改名称,但表单验证不适用于表单提交并提交表单即使有错误。可能是什么问题?

jQuery的:

$("#submit").click(function() {
    form.target="_self";
    form.action="submit.php";
    form.submit();
});

$('#form').validate({
    submitHandler: function(form) {
        $.ajax({
        url: form.action,
        type: form.method,
        data: form.serialize(),
        success: function(response) {
            if (response == false)
            {alert('could not submit!')}
        }

        });

    }
});

更新: 如果表单经过验证并成功提交,我想禁用提交按钮,但是如果我这样添加它会禁用提交按钮而不提交表单。

$('#submit').on('click', function() {
            $('#form').attr('action', 'submit.php');
            $('#form').submit();
        });
        $("#form").submit(function(e){
            if ($(this).valid()) {
                $("#submit").attr("disabled", true);
                $("#preview").attr("disabled", true);
                return true;
            }else{
                e.preventDefault();
            }
        });

3 个答案:

答案 0 :(得分:2)

试试这个

$("#submit").click(function() {
  $('#formId').attr('action', 'submit.php');
  $('#formId').attr('target', '_self');
  $('#formId').submit();

});

更新

        if ($("#form_id").valid()) {
            $("#form_id").submit();
            $("#submit").attr("disabled", true);
            $("#preview").attr("disabled", true);

        }else{
           return false;
        }

做这样的事情。它可能会给你一些想法。首先验证表格,然后提交

答案 1 :(得分:0)

试试这个

$('#submit').on('click', function() { 
   /* your code here */
 });

答案 2 :(得分:0)

你可以尝试这样:

<script type="text/javascript">
    $(document).ready(function () {
        $("#submit").click(function (e) {
            e.preventDefault();

            var form = $("#form");

            $.ajax({
                url: form.action,
                type: form.method,
                data: form.serialize(),
                success: function (response) {
                    if (response == false) {
                        alert('could not submit!')
                    }
                    else {
                        //form.target = "_self";
                        //form.action = "submit.php";
                        form.submit();
                    }
                }
            });

            return false;
        });
    });
</script>

<form id="form" action="test.html" method="POST">
    <input type="text" value="" id="test" name="test" />
    <input id="submit" class="button_text" type="submit" name="submit" value="Submit" />
</form>