根据表单结果有选择地将表单发布到不同的页面


Selectively post form to different pages, based on form result?

>假设我在一个名为 photo/delete.php 的页面上有一个简单的表单。此表单删除用户指定的图像。它的全部内容是这样的:

<form action="?" method="post">
 <input type="checkbox" name="confirmDelete" value="confirm" />    
 <input type="submit" value="delete" />
</form>

因此,此表单包含一个确认复选框,必须勾选该复选框以确保删除图像。如何根据表单的内容动态选择要将此表单发布到哪个页面?

例如,如果未选中复选框,但单击了提交按钮,我想保持在同一photo/delete.php页面上并显示错误,因为他们可能真的想删除图像并且只是忘记勾选框。

但除此之外,如果一切顺利并且勾选了复选框,我想将其发布到另一个页面,比如home.php因为停留在刚刚删除的图像的同一页面上是没有意义的。

我该如何实现?

你可以

尝试这样的事情

.HTML:

<form action="delete.php" method="post">
    <input type="checkbox" name="confirmDelete" value="confirm" />    
    <input id="btn_delete" type="submit" value="delete" />
</form>

.JS:

window.onload = function(){
    document.getElementById('btn_delete').onclick = function(e){
        var checkBox = document.getElementsByName('confirmDelete')[0];
        if(!checkBox.checked) {
            if(e && e.preventDefault) {
                e.preventDefault();
            }
            else if(window.event && window.event.returnValue) {
                window.eventReturnValue = false;
            }
            alert('Please check the checkbox!');
        }
    };
};

演示。