【问题标题】:How combine 2 functions on submit?如何在提交时结合 2 个功能?
【发布时间】:2010-05-08 21:01:50
【问题描述】:

如您所见,我必须首先检查所有表单是否不为空,第二个功能是验证 Captcher,当我将它们结合在一起同时工作时,我想首先验证第一个函数,当该函数返回 true 时,另一个函数开始,

这是我在表单上使用的代码

<form  action="reg.php" method="post" enctype="application/x-www-form-urlencoded" onsubmit=" Checking(this); return jcap();" >

如您所见,两个函数同时执行

所以我尝试了这个

<form  action="reg.php" method="post" enctype="application/x-www-form-urlencoded" onsubmit=" if(Checking(this) == true ){ return jcap();}" >

两者都绕过

我也试过了

<form  action="reg.php" method="post" enctype="application/x-www-form-urlencoded" onsubmit=" return(Checking(this) && jcap(this));" >

它绕过了jcap函数

【问题讨论】:

  • 对不起,我不明白实际的问题。
  • @ ABach 我想先验证表单然后检查验证码,但是当两者结合在一个 onsubmit 上时,两者一起工作,我想将它们拆分到先验证然后验证码的位置

标签: javascript html function


【解决方案1】:

看起来Checking() 没有有效的返回值。脚本可能出错并阻止处理。相应地更新函数。例如

function Checking(form) {
    if (form is valid) {
        return true;
    } else {
        return false;
    }
}

这样第三种方法应该可以工作。


也就是说(与实际问题无关),我会尝试遵循 JavaScript 编码约定(函数以小写字母开头)并给函数起一个更合理的名称,例如checkCaptcha()checkForm()

【讨论】:

  • 嘿,谢谢,但是当我使用此功能function checkAll(form) {if(checkForm(form)== true){if(jcap(form) == true){return true;}}else{ return false;}} 时会出现问题,如果我在开始时使用 jcap,一切正常,但发送按钮将无法正常工作,如果我保持这样,一切工作顺利,但当它达到验证时,什么也没有发生
  • 如果按钮不起作用,则表示该函数没有返回true。我会说,运行一个 JS 调试器来逐步跟踪代码执行,例如Firebug。如果您需要更多帮助,您确实需要更新您的问题以包含一个自包含和可执行的示例,并使用 最少 数量的代码来重现相同的问题,以便我们可以复制'n'paste'n'运行它。
  • 嘿,在尝试了一个小时后尝试捕捉错误,我发现我错过了在if statment 末尾输入return false 再次感谢
【解决方案2】:

将它们结合在一个函数中:

function checkMyForm() {
  if(check_fields() == true) {
    if(check_captha() == true) {
        return true;
    }
  }
  return false;
}

【讨论】:

  • 嘿,我试过了,但它绕过了我所做的function checkMyForm() {if(Checking() == true) {if(jcap() == true){return true;}}return false;}&lt;form action="reg.php" method="post" enctype="application/x-www-form-urlencoded" onsubmit=" return(checkMyForm());" &gt; 的形式
【解决方案3】:

没有你的 onsubmit 语法错误。

试试这个

function checkForm() {
    if(Checking() && jcap())
        return true;
    return false;
}

和你的表格:

<form action="reg.php" method="post" enctype="application/x-www-form-urlencoded" onsubmit="return checkForm();">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-20
    • 2017-04-14
    • 2013-10-08
    • 1970-01-01
    • 1970-01-01
    • 2022-11-16
    • 2016-11-25
    相关资源
    最近更新 更多