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() }}
我正在使用 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() }}