javascript - 如何将两个javascript函数与第三个函数与条件合并?
问题描述
我是 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;
}
}
解决方案
使用变量来跟踪每个条件的当前状态:
let isClauseValid, isCaptchaValid;
function clauseValid(elem) {
isClauseValid = elem.checked;
setButton();
}
function captchaValid() {
isCaptchaValid = true;
setButton();
}
function setButton() {
document.getElementById("sendBtn").disabled = !isClauseValid || !isCaptchaValid;
}
注意:确保更正 HTMLonclick
属性中的拼写错误。
推荐阅读
- c - 此处不允许定义函数
- php - Laravel 5.6没有得到输入值
- ssl - TLS/SSL 解密
- python - 就性能而言,在我的代码中编写用于打印 deque 的 __str__ 方法的更好方法是什么?
- angular - angular 6 webpack 手动设置
- firebase - 如何使用 FireBaseui:Firebase 依赖项为 FirebaseList 适配器添加导入
- tensorflow - 在 tf.where() 中使用 == 条件的问题
- php - 群总是返回真
- javascript - 使用 javascript,如何通过 onclick 使 CSS 变量覆盖棒?
- android - Android Things hardwareAccelerated="true" 使 Raspberrypi 3 上的应用程序变慢