2016-04-12 14 views
0

では動作しませんキャンセル:JavaScriptの確認は、私はこのことを確認していLaravelフォーム

<script type="text/javascript"> 
    function ConfirmDelete() { 
     if (confirm("Are you sure you want to delete?")) { 
      return true; 
     } 
     else { 
      return false; 
     } 
    } 
</script> 

をして、私はLaravelのフォームを持っている:

{!! Form::open(['action' => ['Test\\[email protected]', $thread->id], 'method' => 'delete', 'onsubmit' => 'ConfirmDelete()']) !!} 
{!! Form::submit('Delete', ['class' => 'btn btn-danger']) !!} 
{!! Form::close() !!} 

私はメッセージを取得し、私はあればよOKを押すと、スレッドは削除されますが、キャンセル時にも発生します。キャンセルを押すと何も起こらないように何をすることができますか?これに

答えて

1

{!! Form::open(['action' => ['Test\\[email protected]', $thread->id], 'method' => 'delete', 'onsubmit' => 'return ConfirmDelete()']) !!} 
+0

完璧!ありがとう、たくさんの男! - 他のほとんど質問、出力はあまりにもよく見えません...出力をcostumする方法はありますか?クラスやブートストラップと似ていますか? – WellNo

+0

表示されている確認アラートはブラウザに組み込まれているため、スタイルを設定する方法はありません(私が知っている)。代わりにカスタムモーダルを使用することもできます。例えば、ブートストラップ確認の例を参照してください:https://ethaizone.github.io/Bootstrap-Confirmation/ – LMS94

0

変更:あなたは

<script type="text/javascript"> 
    function ConfirmDelete() { 
     return confirm("Are you sure you want to delete?"); 
    } 
</script> 

はまた、あなたが例えば、onSubmit検証機能の応答を返すことを確認するためにはJavaScriptアップ、さらにきちんと必要なことができ

{!! Form::open(['action' => ['Test\\[email protected]', $thread->id], 'method' => 'delete', 'onsubmit' => 'return ConfirmDelete()']) !!} 
0

必要があります関数呼び出しの前にreturn文を追加します。あなたがしたい場合にも、それをインラインでき

変更

'onsubmit' => 'return ConfirmDelete()' 

に次のコード

'onsubmit' => 'ConfirmDelete()' 

;)

'onsubmit' => 'return confirm("Are you sure you want to delete?")' 

onclickイベントにJavaScript関数を呼び出しますハンドラ、the return value of an event handler determines whether or not the default browser behavior should take place as well

これは、確認ダイアログからCancelを押しても削除される理由です。

+0

ありがとう!他の質問、私はおそらくブートストラップとデザインの出力を変更することができますか?出力が非常によく見えない原因となる – WellNo

+0

できません。 CSS&JSを使って模倣することができます。ブートストラップや他のスタイリングフレームワークを使ってかなりうまく処理するスクリプト/プラグインがたくさんありますhttp://jquery-plugins.net/tag/confirm-box –

関連する問題