【发布时间】:2017-01-02 17:47:20
【问题描述】:
我正在使用 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问题 -
因为该表单有多个操作按钮,我需要在表单提交之前决定点击了哪个按钮并相应地发送操作。
-
如果使用 ajax 会怎样?
标签: javascript php jquery forms laravel-5.2