JavaScript确认取消在Laravel表单上不起作用
JavaScript confirm cancel does not work on Laravel Form
我有这个确认:
<script type="text/javascript">
function ConfirmDelete() {
if (confirm("Are you sure you want to delete?")) {
return true;
}
else {
return false;
}
}
</script>
然后我有了我的拉拉威尔形式:
{!! Form::open(['action' => ['Test''TestController@destroy', $thread->id], 'method' => 'delete', 'onsubmit' => 'ConfirmDelete()']) !!}
{!! Form::submit('Delete', ['class' => 'btn btn-danger']) !!}
{!! Form::close() !!}
我收到消息,如果按"确定",线程会被删除,但取消时也会发生这种情况。如果我按下取消键,我该怎么办才能不发生任何事情?
您可以进一步整理您的javascript
<script type="text/javascript">
function ConfirmDelete() {
return confirm("Are you sure you want to delete?");
}
</script>
此外,您需要确保在提交时返回函数的响应,例如
{!! Form::open(['action' => ['Test''TestController@destroy', $thread->id], 'method' => 'delete', 'onsubmit' => 'return ConfirmDelete()']) !!}
更改为:
{!! Form::open(['action' => ['Test''TestController@destroy', $thread->id], 'method' => 'delete', 'onsubmit' => 'return ConfirmDelete()']) !!}
您需要在函数调用前添加return语句。
更改以下代码
'onsubmit' => 'ConfirmDelete()'
至
'onsubmit' => 'return ConfirmDelete()'
如果你愿意,你也可以内联它;)
'onsubmit' => 'return confirm("Are you sure you want to delete?")'
在onclick
事件处理程序中调用JavaScript函数时,事件处理程序的返回值决定是否也应该发生默认浏览器行为。
这就是为什么即使在确认对话框中按Cancel
,它也会被删除的原因。
相关文章:
- 动态Javascript表单不起作用
- 带有select的jquery提交表单不起作用
- 下拉 jquery 方法发布表单不起作用
- JavaScript onChange 事件侦听器对输入表单不起作用
- 带有javascript按钮的PHP表单-不起作用
- 使用AJAX提交表单不起作用
- Jquery Modal/Dialog表单不起作用
- 使用Javascript提交表单不起作用
- 事件委派后表单不起作用
- 为什么在IE和Chrome中提交表单不起作用
- 根据<选择>动态创建的表单不起作用
- 在Kentico中使用response.write重定向HTML表单不起作用
- 移动响应表单不起作用
- 联系表单不起作用(Php 端)
- 使用 jQuery POST 和 php 序列化和提交表单不起作用
- 通过 ajax 提交表单不起作用
- 在 Javascript 中验证表单不起作用
- e.防止默认和 asp.net 登录表单不起作用
- 为什么我的拖放区 JavaScript 表单不起作用
- 使用 Javascript 提交表单不起作用