web-dev-qa-db-ja.com

laravel form?

削除の確認に関する問題はすべて正常に機能しますが、確認ポップアップでキャンセルをクリックすると、DBからアイテムが削除されます。何か案は?コード例を示してください。laravelは初めてです。

<script>

  function ConfirmDelete()
  {
  var x = confirm("Are you sure you want to delete?");
  if (x)
    return true;
  else
    return false;
  }

</script>

{!! Form::open(['method' => 'DELETE', 'route' => ['path_delete_time', $time->id], 'onsubmit' => 'ConfirmDelete()']) !!}

  {!! Form::hidden('case_id', $project->id, ['class' => 'form-control']) !!}

  {!! Form::button('<i class="glyphicon glyphicon-trash"></i>', array('type' => 'submit', 'class' => 'specialButton')) !!}

{!! Form::close() !!}
14
David

onsubmit呼び出しにreturnを追加するだけです。そのため、関数が返す値によって、フォームが送信されるかどうかが決まります。

'onsubmit' => 'return ConfirmDelete()'
24
lukasgeiter
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script>
        $(".specialButton").click(function(){
            return confirm("Do you want to delete this ?");
        });
    </script>
5
Jeet Thaker

フォームを送信するとき、またはレコードを削除するときに、プロンプトボックスの単純なjQueryコードを入力します。

jQuery(document).ready(function($){
     $('.deleteGroup').on('submit',function(e){
        if(!confirm('Do you want to delete this item?')){
              e.preventDefault();
        }
      });
});
4
Dhaval Tailored

フォームにIDを指定し、jQueryを使用できます。

 {!! Form::open(['method' => 'DELETE', 'route' => ['path_delete_time', $time->id], 'id' => 'FormDeleteTime']) !!}

   <script type="text/javascript">
     $("#FormDeleteTime").submit(function (event) {
                 var x = confirm("Are you sure you want to delete?");
                    if (x) {
                        return true;
                    }
                    else {

                        event.preventDefault();
                        return false;
                    }

                });
</script>
3
Laura Chesches

私の新しいプロジェクト(Laravel 5.3)では、次のものを使用しています。

{!! Form::open(['method' => 'DELETE', 'route' => ['admin.user.delete', $user], 'onsubmit' => 'return confirmDelete()']) !!}
    <button type="submit" name="button" class="btn btn-default btn-sm">
        <i class="fa fa-trash-o"></i>
    </button>
{!! Form::close() !!}

'onsubmit' => 'return confirmDelete()'に言及すると、質問を確認せずにアラートを閉じるときに問題が発生しました。

JavaScript:

function confirmDelete() {
    return confirm('Are you sure you want to delete?');
}
2
Dieter Casier

関数呼び出しなしで...

'onsubmit' => 'return confirm("are you sure ?")'

            {!! Form::open(['url'=>'posts/'.$post->id.'/delete','method'=>'DELETE','class'=>'form-horizontal',
        'role'=>'form','onsubmit' => 'return confirm("are you sure ?")'])!!}

laravel 5を使用

2
Hos Mercury

しばらく経ちましたが、これがIMOの最もスムーズな方法です。

'onsubmit' => 'return confirm("Do you want to delete this user?");'

formタグ内。

0
James Bailey

私はこれを少し一般化すると思いました:

.html

<form method="post" action="..." class="has-confirm" data-message="Delete this Thing?">...</form>

.js

$("form.has-confirm").submit(function (e) {
  var $message = $(this).data('message');
  if(!confirm($message)){
    e.preventDefault();
  }
});
0
khany

現在起こっている唯一のことは、削除ページへのリダイレクトを遅らせるポップアップが表示されることです。

できることは、リンクを生成するだけで、そのリンクはjsでフォームを生成します。 彼らがここでやっているように(JQueryでのみ)

0
Daniel Gelling