我需要当用户按ENTER键时表单没有提交。我已经做到了,但是当警报到来且用户接受时,表单会提交。它只发生在Safari用户身上。
我的代码!并谢谢...
<script>
function alerta(e)
{
var unicode
if (e.charCode)
{unicode=e.charCode;}
else
{unicode=e.keyCode;}
if (unicode == 13){
alert("message alert");
window.location.reload();
}
}
</script>
<form method="post" action="verifi.php" onkeypress="alerta(event)">
...
</form>
答案 0 :(得分:1)
使用alert("message alert");
代替使用window.confirm("message alert");
我正在使用Chrome。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).keypress(function(event) {
var keycode = (event.keyCode ? event.keyCode : event.which);
if (keycode == '13') {
event.preventDefault();
window.confirm("Are you sure you want to submit this form?");
window.location.reload();
}
});
</script>
<form method="post" action="verifi.php">
...
</form>
答案 1 :(得分:0)
将return false;
添加到javascript函数的末尾。这样可以防止提交表单。