所以我用谷歌搜索了这个问题,他们都给出了相同的代码,但它从来没有工作过。我希望只能单击该按钮一次,这样您就不能多次单击该按钮发送垃圾邮件。
这是我的 HTML。
<form id="sign" name="sign" method="post">
<input type="text" name="username" placeholder="Username"><br>
<input type="text" name="email" placeholder="Email"><br>
<input type="password" name="password" placeholder="Password"><br>
<input type="submit" name="submit" value="Signup">
</form>
现在人们在 Google 上所说的修复方法是将此代码添加到提交输入类型中。
onclick="this.value='Submitting ..'; this.disabled=true; this.form.submit();"
or
onclick="this.value='Submitting ..'; this.disabled=true;"
现在,这会在像我想要的那样单击提交按钮后禁用它,但它会停止提交表单,这缺陷了首先执行此操作的要点。
最后代码不起作用
<form id="sign" name="sign" method="post">
<input type="text" name="username" placeholder="Username"><br>
<input type="text" name="email" placeholder="Email"><br>
<input type="password" name="password" placeholder="Password"><br>
<input type="submit" name="submit" value="Signup" onclick="this.value='Submitting ..'; this.disabled=true;">
</form>
如果我理解正确的话,你应该尝试以下操作:
我没有使用内联 javascript,而是为提交输入提供了一个 id 并使用以下 javascript 代码:
var form = document.getElementById('sign'),
submit = document.getElementById('submit');
submit.onclick = function() {
submit.value='Submitting ..';
form.submit();
};
https://jsfiddle.net/5kn2L7m9/3/ https://jsfiddle.net/5kn2L7m9/3/
我还删除了.disabled = true
因为我认为这就是为什么之前根本没有提交表单的原因。您也许应该通过添加一个类并删除 onclick 事件侦听器或检查 javascript 来完成此操作(如果表单已发送)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)