繁体   English   中英

jQuery表单提交到数据库

[英]JQuery form submit into database

我想使用模态引导程序和Jquery提交按钮和框架进行简单的CRUD,我使用的是laravel 5.2,下面是我的控制器,模态,jquery和路由,问题是当我单击保存更改时没有任何反应,我在做什么错误?

莫代尔

<div class="modal fade" id="addModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h3 class="modal-title"><span class="glyphicon glyphicon-plus"></span> Add Barang</h3>
            </div>
            <div class="modal-body" id="addModal">
                <form id="tambahform" class="form-horizontal" role="form">
                    <div class="form-body">
                        <div class="form-group">
                            <label class="col-md-3 control-label">Name</label>
                            <div class="col-md-9">
                                <input type="text" id="client-nama" name="clientName" class="form-control" placeholder="Your Name">
                            </div>
                        </div>
                    </div>
                </form>
            </div>
        <div class="modal-footer">
            <button type="button" class="btn-add btn-primary">Save changes</button>
        </div>
    </div>
  </div>
</div>

jQuery查询

$(document).ready(function(){
    var check1=0;
    $('#tambahform').submit(function(e){
    if (check1==0){
        $("#addModal").animate({scrollTop:0}, 'slow');
    }else{
        e.preventDefault();
        var formData = new FormData($(this)[0]);
        $.ajax({
            url:'form/insert',
            data:formData,
            type:'POST',
            contentType: false,
            processData: false,
            success:function(data){
                $("#addModal").hide();
                window.location.reload(true);
            }
        });
    }
    return false;
    });

控制者

public function insert(){
    $nama = Input::get('nama');
    $this->nama = Input::get('clientName');
    $query = DB::table('profile')->insert(array('nama'=>$nama));  

}

路线

Route::get('form/insert', 'FormController@insert');

您需要定义提交form所使用的方法。 没有提到任何method因此它正在提交其默认值 GET

因此您的form标签应如下所示:

<form method="POST" id="tambahform" class="form-horizontal" role="form">

url ,您需要给它一个完整的路径,否则它将给出一个404 not found错误。 看一下这段代码:

e.preventDefault();
var formData = $(tambahform).serialize(); //<--use Serialize
 $.ajax({
     url:'form/insert.php', //<--add full path including the files extension here
     data:formData,
     type:'POST',
     contentType: false,
     processData: false,
     success:function(data){
            $("#addModal").hide();
            window.location.reload(true);
            }

代替这个

Route::get('form/insert', 'FormController@insert');

用这个

Route::post('form/insert', 'FormController@insert');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM