gpt4 book ai didi

javascript - 提交按钮无法使用 IIFE 重新启用

转载 作者:行者123 更新时间:2023-12-02 13:47:40 26 4
gpt4 key购买 nike

我正在制作一个简单的联系表单,并禁用提交按钮,直到所有字段中至少有 1 个字符。

我这里有一些代码可以在 IIFE 之外工作,但是当我将其放入 IIFE 中时,会破坏提交功能。目前,我接触 Javascript/jQuery 的时间还不够长,无法重构我的代码以使其正常工作。

JavaScript

(function() {

function init() {
window.onload = checkform;
}

function checkform() {

var validateBeforeSubmit = document.forms["contactForm"].elements;
var cansubmit = true;

for (var i = 0; i < validateBeforeSubmit.length; i++) {
if (validateBeforeSubmit[i].value.length == 0)
cansubmit = false;
}
document.getElementById('submitButton').disabled = !cansubmit;
}
init();
})();

最佳答案

(function() { 
function init() {
window.onload = checkform;
}
function checkform() {
var validateBeforeSubmit = document.forms["contactForm"].elements;
var cansubmit = true;
for (var i = 0; i < validateBeforeSubmit.length; i++) {
if (validateBeforeSubmit[i].value.length == 0) cansubmit = false;
validateBeforeSubmit[i].oninput=checkform;//the line you need
}
document.getElementById('submitButton').disabled = !cansubmit;
}
init();
})();

我想你以前也有过这样的经历:

<input onchange="checkform">

这不再起作用,因为 checkform 不再在全局范围内,它现在只能通过闭包绑定(bind)......

关于javascript - 提交按钮无法使用 IIFE 重新启用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41246443/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com