gpt4 book ai didi

javascript - 两次提交调用函数

转载 作者:太空宇宙 更新时间:2023-11-04 14:56:58 25 4
gpt4 key购买 nike

当我使用 Enter 提交表单时,它没有任何问题。我可以成功登录。当我使用按钮提交表单时,它在 Firefox 上成功登录,但在 Chrome 上却没有。问题是,它重复该函数两次并发送不同的散列密码。我怎样才能让它也适用于 Chrome?

按钮:

<div id="submit" name="submit" value="login" class="ui fluid large pink submit button" onclick="submitForm();">Login</div>

形式:

<form id="form" autocomplete="off" class="ui large form" id = "form" name="form" method="post" action="php/verify.php" onsubmit="submitForm();">

我在表单中添加了 onsubmit="submitForm();",即使在我使用 Enter 提交表单时也能调用该函数。

Javascript 函数:

function submitForm(){
var form = document.getElementById("form");
var pwd = document.getElementById('pwd');
var hash = new jsSHA("SHA-256", "TEXT", {numRounds: 1});
hash.update(pwd.value);
var hash = hash.getHash("HEX");
var password = document.createElement("input");
password.name="password";
password.type="hidden";
password.id = "password";
password.value = hash;
alert(password.value);
form.appendChild(password);
form.submit();
pwd.value = "";
}

最佳答案

在您的 onsubmit 处理程序中,您正在提交表单:

 form.submit();

如果你这样做,处理程序必须返回 false,这意味着你需要

<form ... onsubmit="submitForm(); return false;">

否则你将手动提交表单,然后浏览器将再次提交它,因为 onsubmit 没有返回 false;

关于javascript - 两次提交调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40656557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com