按钮属性中变化的方法和行动

问题描述 投票:1回答:1

我想换形方法button.onclick功能。我的代码工作,但现在它看起来脏脏的,如果我有太多的按钮,他们会变成不可读的代码块。我们是否有任何选项通过button.onclick设置呢?这样的事情((onclick="form.method='patch'"))

我发现了一些,但他们没有工作。我需要改变<button ((this area))> SUBMIT </button>两个方法和途径。如果有什么办法做到这一点,我等着你的答案。

index.blade.php

@if($backup->trashed())                                       
{{ Form::open(['route' => ['backup.patch', $backup->id], 'method'=>'patch', 'role'=>'form']) }}
@endif
@if(!$backup->trashed()) 
{{ Form::open(['route' => ['backup.delete', $backup->id], 'method'=>'delete', 'role'=>'form']) }}
@endif
    <div class="btn-group btn-group-xs" role="group" aria-label="Config Tools">
        <button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="bottom" title="Edit" onclick="window.location='{{ url("backup/{$backup->id}") }}'">
            <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>
        </button>
        @if($backup->trashed())                                       
        <button type="submit" class="btn btn-default" data-toggle="tooltip" data-placement="bottom" title="Activate">
            <span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
        </button>
        @endif
        @if(!$backup->trashed())                                      
        <button type="submit" class="btn btn-default" data-toggle="tooltip" data-placement="bottom" title="Delete">
            <span class="glyphicon glyphicon-trash" aria-hidden="true"></span>
        </button>
        @endif
    </div>
{{ Form::close() }}

web.php

Route::get('/backup/{id}', 'Admin\BackupController@show')->name("backup.show");
Route::post('/backup/{id}', 'Admin\BackupController@update')->name("backup.update");
Route::delete('/backup/{id}', 'Admin\BackupController@delete')->name("backup.delete");
Route::patch('/backup/{id}', 'Admin\BackupController@patch')->name("backup.patch");

我的搜索结果:

https://css-tricks.com/separate-form-submit-buttons-go-different-urls/ https://www.w3schools.com/tags/att_button_formmethod.asp

谢谢您的回答从现在开始!

编辑:你可以问“你为什么不为每个按钮写形式?”

我回答,如果我写的里面分别出现<div class="btn-group btn-group-xs" role="group">按钮形式。

就像这样:http://jsfiddle.net/kmgd4z17/1/

但我想他们是:http://jsfiddle.net/tg21j0f7/

javascript php html laravel-5.7
1个回答
0
投票

index.blade.php

<div class="btn-group btn-group-xs" role="group" aria-label="Config Tools">
    <button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="bottom" title="Edit" onclick="window.location='{{ url("backup/{$backup->id}") }}'">
        <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>
    </button>
    @if($backup->trashed())                                
    <button type="button" class="btn btn-default" onclick="javascript : submitForm('PATCH', {{$backup->id}})" data-toggle="tooltip" data-placement="bottom" title="Activate">
        <span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
    </button>
    @endif
    @if(!$backup->trashed())                                         
    <button type="button" class="btn btn-default" onclick="javascript : submitForm('DELETE', {{$backup->id}})" data-toggle="tooltip" data-placement="bottom" title="De-Activate">
        <span class="glyphicon glyphicon-trash" aria-hidden="true"></span>
    </button>
    @endif
</div> 

脚本

<script>
    function submitForm($method, $id){

        var form = document.createElement("form");
        form.setAttribute('method', "POST");
        form.setAttribute('action',"/backup/" + $id);

        var i = document.createElement("input");
        i.setAttribute('type',"hidden");
        i.setAttribute('name',"_method");
        i.setAttribute('value', $method);
        form.appendChild(i);

        var j = document.createElement("input");
        j.setAttribute('type',"hidden");
        j.setAttribute('name',"_token");
        j.setAttribute('value', "{{Session::token()}}" );
        j.setAttribute('id',"csrf-token");
        form.appendChild(j);

        document.body.appendChild(form);

        form.submit();

    }       
</script>

我解决了这个方法的问题。当按下一个按钮,我创建的形式。也许有人可以用更有效的方式解决,但我的解决办法是这样的。 :)

© www.soinside.com 2019 - 2024. All rights reserved.