【问题标题】:Jquery and ajax form submission to mysql double entries in databaseJquery和ajax表单提交到数据库中的mysql双重条目
【发布时间】:2023-03-08 18:14:01
【问题描述】:

我有这个 jquery ajax 表单提交脚本,用于在数据库中创建和编辑项目。

问题是每当我创建一个项目时,都会创建 2 个项目。

<script type="text/javascript">
    $(document).ready(function() {
        $('#new_item').on('hidden', function () {
            $(".alert").hide();  // remove errors…when the modal form closes
        });
        $(".showedit").click(function(){
            var edit = $(this).attr('id').split("_");// get the edit id
            var id = edit[1];

            var values = $('#data_'+id+' td').map(function(_, td) {
                return $(td).text();
            }).get();
            // populate the form with the database field
            var name    = $("input[name=name]").val(values[1]);
            var model   = $("select[name=model]").val(values[2]);
            var brand   = $("select[name=brand]").val(values[3]); 
            $('#new_item').modal();
        });

        $("#submit_button").click(function( e ) {
            e.preventDefault();

            var name    = $("input[name=name]").val();
            var amount  = $("input[name=amount]").val();
            var model   = $("select[name=model]").val();
            var brand   = $("select[name=brand]").val(); 

            $.ajax({            
                    type: "POST",                   
                    url: "<?=base_url()?>items/create",                 
                    cache: false,
                    dataType: "json",
                    data: 'name='+name+'&amount='+amount+'&model='+model+'&brand='+brand,
                    success: function(result){
                        if(result.error) {
                            $(".alert").addClass('alert-error');
                            $(".alert").fadeIn('slow').html(result.message);
                          } 
                          else 
                          {                 
                            $(".alert").addClass('alert-success');
                            $(".alert").fadeIn('slow').html(result.message);
                          }

                    }
            }); 

        });
    });
</script>

请帮我解决这个问题。我会很厉害的!!

【问题讨论】:

  • 你检查过你的控制台吗...?
  • 你也可以试试改这个$("#submit_button").submit(function( e ) {

标签: jquery mysql ajax codeigniter


【解决方案1】:
$("#submit_button").click(function( e ) {
            e.preventDefault();

这意味着它将阻止按钮默认操作

你必须把它改成

$("form").submit(function( e ) {
            e.preventDefault();

或者您可以将 ID 添加到表单中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-03
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多