OctoberCMS Ajax 按取消后表单仍然提交

OctoberCMS Ajax Form still Submits after pressing Cancel

我正在使用 OctoberCMS based on Laravel

我有一个 Ajax checkbox form that uses Twig 标记。

http://octobercms.com/docs/ajax/introduction


当您单击“删除”按钮时,它会弹出一个提示窗口,要求您确认。但如果我按取消,它仍然会提交。然而,在我切换到 Twig/Ajax 之前这是有效的,但我需要它来处理常规表单无法处理的请求。

{{ form_open() }}

    <input type="checkbox" name="delete_queued[]" value="{{ record.name }}" />

    <button data-request="onDelete" onclick="return confirm('Delete All Checked?');return false;">Delete Checked</button>

{{ form_close() }} 

注意:data-request="onDelete"是一个php函数,它工作正常。是 onclick 没有正常工作。


我尝试在 onclick 之外使用函数,结果相同:

<button data-request="onDelete" onclick="confirmDelete()">Delete Checked</button>

<script type="text/javascript">
    function confirmDelete() {
        if (confirm("Delete All Checked?")) {
            //submit php data-request
        }
        return false;
    }
</script>

我也试过用event.preventDefault()代替return false

为什么不用简单的onClick="return confirm('Delete All Checked?');"

我认为这可能是因为您混合了数据属性 API 和 JavaScript API。

相反,选择一个它应该可以工作:

{{ form_open() }}

    <input type="checkbox" name="delete_queued[]" value="{{ record.name }}" />

    <button data-request="onDelete" data-request-confirm="Delete All Checked?">Delete Checked</button>

{{ form_close() }}