如何使用javascript更改表单上的操作?

时间:2017-08-23 04:34:34

标签: javascript jquery forms redirect laravel-5.3

我使用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转换为此成功:

http://myshop.dev/shop/detail

但是,内容不显示

当我点击网址并输入

时,该页面中的内容才会显示

我该如何解决这个问题?

1 个答案:

答案 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;
       } 
    })
}