preventDefault()和2个函数

时间:2016-08-15 14:09:22

标签: javascript jquery ajax

在我的网站上,用户可以动态添加文本并动态删除(通过AJAX)。

问题是当用户想要添加文本并立即将其删除时。 抑制没有实现(未检测到提交删除表格)。

$(document).ready(function() {
    $(function(){
        /* ADD A TEXT */
        $("#formAdd").submit(function(evt) {
            evt.preventDefault();
            var text = $(this).find("textarea").val();
            if (text) {                 
                var url = $(this).attr('action'); 
                form = $(this).serialize();

                $.ajax({
                    type : "POST",
                    url  : url,
                    dataType : "json",
                    data: {
                        "form" : form,
                        "form-type"  : $(this).find(':submit').attr("name")
                    },
                    success: function(data){
                        document.getElementById("visualisation").html = text;                               
                    },
                    statusCode: {
                        400: function() {
                            alert("error");
                        }
                    }   
                });
            }
        });


        /* REMOVE A TEXT */
        $('#formDelete').submit(function(e) {               
            alert("CHECK !");
            var idText = $(this).find('#text_visualisation').val();

            form = $(this).serialize();
            $.ajax({
                type:"POST",
                url: $(this).attr('action'),
                dataType : "json",
                data: {
                    'form' : form,
                    "form-type" : $(this).find(':submit').attr("name"),
                },
                success: function(data) {                       
                    $("#text").remove();
                    $("#modal_deleteForm").modal('hide');                                       
                },
                statusCode: {
                    400: function() {
                        alert("error");
                    }
                }
            });
            return false;
        });
    });
});

因此,当我想在添加此文本后立即删除文本时,alert("CHECK !");未实现。为什么?

1 个答案:

答案 0 :(得分:-2)

经过大量研究后我找到了解决方案......问题不是防止默认()而是内部HTML(你现在不能,我很抱歉)。

但我不明白为什么使用innerHTML可以阻止jquery提交表单......

感谢' S