我使用laravel 5.3
我的表格是这样的:
{!! Form::open(['route' => 'shop.process','id'=>'my-form']) !!}
...
{!! Form::close() !!}
如果符合某些条件,我想改变行动
我在javascript中的条件是这样的:
if (true) {
$('#my-form').attr('action', '/shop/detail')
return true;
}
如果满足条件,则将URL转换为此成功:
但是,内容不显示
当我点击网址并输入
时,该页面中的内容才会显示我该如何解决这个问题?
答案 0 :(得分:0)
如果您想更改表单的内容,您需要将带有ajax的表单加载到表单区域。
假设/ shop / detail是另一种形式。你应该这样做。使用.load()或.ajax()
if (true) {
$('#my-form').attr('action', '/shop/detail');
$('#my-form').load('/shop/detail');
return true;
}
或..
if (true) {
$('#my-form').attr('action', '/shop/detail')
$.ajax({
url:'/shop/detail',
success:function(data){
$('#my-form').html(data);
}
})
return true;
}
然而,上述两种方法不太可行,因为我怀疑你的/ shop / detail只是内在形式。它最有可能是整个形式。即。这意味着您需要完全替换元素。不将数据加载到旧表单中。
if (true) {
$.ajax({
url:'/shop/detail',
success:function(data){
$('#my-form').replaceWith(data);
return true;
}
})
}