私はLaravel 5.2を使用して他の人のコードを操作していますが、サーバー側にフォーム値を格納するために必要なフィールドがありません。私は新しい隠し入力フィールドを追加し、次のコードで値を設定しました。変更なしで終了せずに新しいページにユーザーをリダイレクトする方法
<form method="POST">
<input type="hidden" value="" id="hidden_field" />
<input type="submit" class='action_button' data-action='save' />
</form>
$('.action_button').on('click', function(event) {
event.preventDefault();
$('#hidden_field').val($(this).data('action');
$('#form').submit();
});
フォームが送信され、データはサーバー側に保存され、コントローラーの最後には次のコードがあります。
return redirect(url('home'));
私はいくつかの変更を行い、フォームを送信しようとするたびロジックは現在、正常に動作しているサーバ側は、リダイレクトするようにブラウザに指示が、ブラウザはそれを保存せずに終了し、プロンプト私を示して、私は未保存の変更を持っていると思いますがまたは滞在する。プロンプトを完全に無効にすることなく、どうすればそれを回避できますか?
なぜページが読み込まれたときに非表示の入力を変更しないでください。送信をクリックしたときではありません。フォームには複数のアクションボタンがあり、どのボタンがクリックされたかを判断してそれに応じてアクションを送信する必要があるので、それは 'Js'の問題 –
だと思います。 – Anfal
ajaxを使用するとどうなりますか? – Mephiztopheles