简体   繁体   English

Window.confirm和html表单

[英]Window.confirm and html form

I have this form 我有这个表格

<form name="frm" action="users.jsp/manage-users?status=delete&index=1" method="POST">
    <button value="delete" name="btn" onclick="if(window.confirm('Delete user?\nWARNING! THIS IS ACTION CANNOT BE UNDONE!'))
{document.frm.submit();}">
    Delete
    </button>
</form>

and when I press cancel, it still submit. 当我按取消时,它仍然提交。 What am I doing wrong? 我究竟做错了什么?

You'll need to return false; 您需要return false;

<form name="frm" action="users.jsp/manage-users?status=delete&index=1" method="POST">
    <button value="delete" name="btn" onclick="if(window.confirm('Delete user?\nWARNING! THIS IS ACTION CANNOT BE UNDONE!'))
{document.frm.submit();}else{return false;}">
    Delete
    </button>
</form>

When you return false; 当你return false; , the form will not submit, so clicking Cancel will make the form not to submit, while clicking Ok will submit it ,该表单将不会提交,因此单击“ Cancel将使该表单不提交,而单击“ Ok将提交该表单

Demo: http://jsfiddle.net/qXJWL/ 演示: http//jsfiddle.net/qXJWL/

Try else { return false; } else { return false; }尝试else { return false; } else { return false; }

<form name="frm" action="users.jsp/manage-users?status=delete&index=1" method="POST">
    <button value="delete" name="btn" onclick="if(window.confirm('Delete user?\nWARNING! THIS IS ACTION CANNOT BE UNDONE!'))
{document.frm.submit();} else { return false; }">Delete</button>
</form>

For good practice, make the script seperate from html, use return false when press cancel and use return with formSubmit() , something like 作为一种好的做法,请将脚本与html分开,按cancel时使用return false ,并将formSubmit()return一起使用,例如

JAVASCRIPT JAVASCRIPT

function formSubmit(){
    if(window.confirm('Delete user?\nWARNING! THIS IS ACTION CANNOT BE UNDONE!')){
        document.frm.submit();
    }else{
        return false;
    }
}

HTML HTML

<form name="frm" action="users.jsp/manage-users?status=delete&index=1" method="POST">
    <button value="delete" name="btn" onclick="return formSubmit()" id="myButton">
    Delete
    </button>
</form>

DEMO DEMO

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM