繁体   English   中英

未在表单上调用html / javascript onsubmit事件提交以验证表单

[英]html/javascript onsubmit event not called on form submit to validate form

我想对html和javascript中的表单进行非常基本的验证。

我希望在单击“提交”按钮时检查一个文本字段,并且如果该检查有效,则要执行表单的操作,否则就什么也不会发生。

但是由于某种原因,表单的onsubmit事件似乎根本没有被触发。

原因之一可能是提交按钮以禁用状态启动,但是在完成Recaptcha后由recaptcha回调函数启用。 我将如何解决?

这是我的代码(我将其简化到最低程度,可以进行测试,并且什么也没有发生,因为没有弹出窗口警报,所以未调用该函数:

<script type="text/javascript">
   function capcb() {
       document.getElementById("cap_sub").disabled = false;
    };                                 
</script>
<script type="text/javascript">
    function check() {
        window.alert("checking");
        return false;
    }
</script>
[...]
<form action="submitpage.php" method="post" onsubmit="return check()">
  <fieldset>
    <input type="text" name="Email" id="email" maxlength="120" class="input" /></p> 
  </fieldset>
  <div align="center" class="g-recaptcha" data-sitekey="masked" data-size="compact" data-callback="capcb"></div>
  <input type="submit" id="cap_sub" value="Submit!" class="submit"/>
</form>

期待您的建议!

也许是因为函数capcb()的末尾有分号? 因为我尝试了您的代码及其工作。

<script type="text/javascript">
   function capcb() {
       document.getElementById("cap_sub").disabled = false;
    }                                
</script>

我很抱歉。 我花了3个小时才决定在这里问。 最后我意识到我的check()函数中有一个愚蠢的语法错误-完整的错误,不是我发布的内容,这使call()函数未定义。曾经在执行之前先编译代码,因为已经继承了这个旧网站作为志愿者进行维护,这对我就是cobol编码器来说是一场噩梦:)

如果我浪费任何人的时间,我真的很抱歉!

暂无
暂无

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

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