JQuery 表单提交到数据库
JQuery form submit into database
我想使用模态 bootstrap 和 Jquery 提交按钮制作一个简单的 CRUD,我使用的框架是 laravel 5.2,下面是我的控制器,模态,jquery 和路线,问题是当我点击保存更改时没有任何反应,我做错了什么吗?
MODAL
<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">×</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;
});
Controller
public function insert(){
$nama = Input::get('nama');
$this->nama = Input::get('clientName');
$query = DB::table('profile')->insert(array('nama'=>$nama));
}
ROUTES
Route::get('form/insert', 'FormController@insert');
而不是这个
Route::get('form/insert', 'FormController@insert');
使用这个
Route::post('form/insert', 'FormController@insert');
您需要定义用于提交 form
的方法。没有提到 method
所以它正在提交它的 default, 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);
}
我想使用模态 bootstrap 和 Jquery 提交按钮制作一个简单的 CRUD,我使用的框架是 laravel 5.2,下面是我的控制器,模态,jquery 和路线,问题是当我点击保存更改时没有任何反应,我做错了什么吗?
MODAL
<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">×</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;
});
Controller
public function insert(){
$nama = Input::get('nama');
$this->nama = Input::get('clientName');
$query = DB::table('profile')->insert(array('nama'=>$nama));
}
ROUTES
Route::get('form/insert', 'FormController@insert');
而不是这个
Route::get('form/insert', 'FormController@insert');
使用这个
Route::post('form/insert', 'FormController@insert');
您需要定义用于提交 form
的方法。没有提到 method
所以它正在提交它的 default, 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);
}