Javascript Laravel 5.6在未提交的模型中从表单更新记录
我有一个简单的crud系统,除了更新部分,我构建的所有东西都可以正常工作 当您试图编辑一条记录时,会弹出一个引导模式,其中包含一个表单,其中记录是用javascript填充的。表单的操作url也由javascript设置。当我提交时,模型简单地关闭,什么也没有发生 让我们从我的资源路线开始:Javascript Laravel 5.6在未提交的模型中从表单更新记录,javascript,php,laravel,laravel-5,Javascript,Php,Laravel,Laravel 5,我有一个简单的crud系统,除了更新部分,我构建的所有东西都可以正常工作 当您试图编辑一条记录时,会弹出一个引导模式,其中包含一个表单,其中记录是用javascript填充的。表单的操作url也由javascript设置。当我提交时,模型简单地关闭,什么也没有发生 让我们从我的资源路线开始: Route::resource('buildingimage', 'BuildingImageController'); “编辑”按钮: <button class="edit-modal
Route::resource('buildingimage', 'BuildingImageController');
“编辑”按钮:
<button
class="edit-modal btn btn-info"
data-buildingid="{{$building->id}}"
data-location="{{$building->location}}"
data-source="{{$building->source}}"
data-disc="{{$building->disc}}"
data-result="{{$building->result}}"
data-resultPositive="{{$building->result_info_positive}}"
data-resultNegative="{{$building->result_info_negative}}"
data-toggle="modal"
data-target="#edit-building"
>
<i class="far fa-edit"></i>
Edit
</button>
“我的模态”中的形式:
{{ Form::open(['id' => 'editBuilding', 'method' => 'PUT']) }}
<div class="form-group">
<div class="row">
<div class="col-md-3 ">
{{ Form::label('location', Lang::get('image_request.execute.building.location')) }}
{{ Form::text('location', null, array('class' => 'form-control')) }}
</div>
<div class="col-md-2 noPaddingLeft">
{{ Form::label('source', Lang::get('image_request.execute.building.source')) }}
</div>
<div class="col-md-2 noPaddingLeft">
{{ Form::label('disc', Lang::get('image_request.execute.building.disc')) }}
{{ Form::select('disc', ['0' => Lang::get('image_request.execute.building.notdisc'), '1' => Lang::get('image_request.execute.building.disc')], null, ['id' => 'discDropdown', 'class' => 'form-control'])}}
</div>
<div class="col-md-2 noPaddingLeft">
{{ Form::label('result', Lang::get('image_request.execute.building.result')) }}
{{ Form::select('result', ['positive' => Lang::get('image_request.execute.building.positive'), 'negative' => Lang::get('image_request.execute.building.negative')], null, ['id' => 'resultDropdown', 'class' => 'form-control'])}}
</div>
<div class="col-md-2 noPaddingLeft">
<div id="resultPositive">
{{ Form::label('resultpostitive', Lang::get('image_request.execute.building.resultpositive')) }}
{{ Form::select('result_info_positive', ['positive' => Lang::get('image_request.execute.building.positive'), 'negative' => Lang::get('image_request.execute.building.negative')], null, ['id' => 'resultPositiveDropdown', 'class' => 'form-control'])}}
</div>
<div id="resultNegative">
{{ Form::label('resultnegative', Lang::get('image_request.execute.building.resultnegative')) }}
{{ Form::select('result_info_negative', ['positive' => Lang::get('image_request.execute.building.positive'), 'negative' => Lang::get('image_request.execute.building.negative')], null, ['id' => 'resultNegativeDropdown', 'class' => 'form-control'])}}
</div>
</div>
<div class="col-md-1 noPaddingLeft">
<br>
{!! Form::hidden('image_request_id', $imageRequest->id) !!}
</div>
</div>
</div>
{{ Form::close() }}
{{Form::open(['id'=>'editBuilding','method'=>'PUT'])}
{{Form::label('location',Lang::get('image_request.execute.building.location'))}
{{Form::text('location',null,array('class'=>'Form control'))}
{{Form::label('source',Lang::get('image_request.execute.building.source'))}
{{Form::label('disc',Lang::get('image_request.execute.building.disc'))}
{Form::select('disc',['0'=>Lang::get('image\u request.execute.building.notdisc'),'1'=>Lang::get('image\u request.execute.building.disc')),null,['id'=>discDropdown','class'=>Form control'])}
{{Form::label('result',Lang::get('image_request.execute.building.result'))}
{Form::select('result',['positive'=>Lang::get('image\u request.execute.building.positive'),'negative'=>Lang::get('image\u request.execute.building.negative')),null,['id'=>resultDropdown',class'=>Form control'])}
{{Form::label('resultpostive',Lang::get('image_request.execute.building.resultpositive'))}
{Form::select('result\u info\u positive',['positive'=>Lang::get('image\u request.execute.building.positive'),'negative'=>Lang::get('image\u request.execute.building.negative')),null,['id'=>'resultPositiveDropdown','class'=>'Form control]}
{{Form::label('resultnegative',Lang::get('image_request.execute.building.resultnegative'))}
{Form::select('result\u info\u negative',['positive'=>Lang::get('image\u request.execute.building.positive'),'negative'=>Lang::get('image\u request.execute.building.negative')),null,['id'=>resultNegativeDropdown','class'=>Form control]}
{!!Form::hidden('image\u request\u id',$imageRequest->id)
{{Form::close()}}
现在我不知道为什么表单没有提交,实际上什么都没有发生,模态只是关闭
在模式中编辑提交按钮
我忘了在模式中显示我是如何提交表格的:
<button type="submit" form="editBuilding" class="btn btn-primary edit" data-dismiss="modal">
<span class='glyphicon glyphicon-check'></span> @lang('image_request.execute.building.edit_modal.confirm')
</button>
@lang('image\u request.execute.building.edit\u modal.confirm')
将表单上的方法类型更改为POST
,然后将
@method('PUT')
在你的表格内
原因是什么
在JS中,还需要防止模态的默认行为。要做到这一点,您可以将其作为脚本的第一行
e.preventDefault();
或返回false代码>在末尾
然后在脚本的底部,修改表单后,您需要提交表单
$('#editBuilding').submit();
我实际上已经尝试过将此作为我的初始代码,但它是相同的,没有发生任何情况模式只是关闭我在表单中没有看到您的路线<代码>表单::open(['route'=>['buildingimage.update'],'id'=>'editBuilding','method'=>'PUT'])
我不能这样给我的路线,因为我需要给它一个id,我通过javascript设置了动作/路线属性,看看我在OPah中发布的javascript,这是误导性的,当它是edit
时,你称它为deleteUrl
,这让我很困惑。是的,你说得对,这是一个非常糟糕的名字lol,我会编辑OP和我的代码
$('#editBuilding').submit();