如何将两个javascript函数与第三个函数与条件合并?
Posted
技术标签:
【中文标题】如何将两个javascript函数与第三个函数与条件合并?【英文标题】:How to merge two javascript function with third function with condition? 【发布时间】:2021-03-15 20:14:36 【问题描述】:我是 js 的初学者,我在合并两个函数时遇到了问题。我想用条件制作第三个功能,当标记复选框并标记 reCAPTCHA 时,才启用按钮。默认情况下,我将按钮设置为禁用。 如下单个功能正在工作:
function clauseValid(elem)
document.getElementById("sendBtn").disabled = false;
return true;
;
function captchaValid ()
document.getElementById("sendBtn").disabled = false;
return true;
;
<input type="checkbox" name="chkbx" id='#ID#' value="#seq_claim_id#" onClick="clauseVlid(this)">
<div class="g-recaptcha" data-sitekey="*****..." id="ckecCaptcha" type="checkbox" data-callback="captchaValid"></div>
我试着做一个这样的人,但它不起作用:
function clauseValid(elem)
return true;
function captchaValid()
return true;
function CheckTest()
if (clauseValid(elem) && captchaValid())
document.getElementById("sendBtn").disabled = false;
【问题讨论】:
你能解释一下到底出了什么问题吗? 您有onClick="clauseVlid(this)"
,但函数名为clauseValid()
。另外,你在哪里打电话CheckTest()
?
@Lemondoge 我的意思是,当满足两个条件(两个标记的字段 - 一个复选框 - 第二个 reCaptcha)时,该按钮将被启用
@kmoser 我认为这是错误的,这就是为什么我问你如何做到这一点:)
***.com/questions/54876600/…
【参考方案1】:
使用变量来跟踪每个条件的当前状态:
let isClauseValid, isCaptchaValid;
function clauseValid(elem)
isClauseValid = elem.checked;
setButton();
function captchaValid()
isCaptchaValid = true;
setButton();
function setButton()
document.getElementById("sendBtn").disabled = !isClauseValid || !isCaptchaValid;
注意:确保更正 html onclick
属性中的拼写错误。
【讨论】:
以上是关于如何将两个javascript函数与第三个函数与条件合并?的主要内容,如果未能解决你的问题,请参考以下文章