gpt4 book ai didi

javascript - 将表单名称和表单对象名称传递给函数

转载 作者:行者123 更新时间:2023-12-02 19:46:38 25 4
gpt4 key购买 nike

我无法理解 Javascript 的工作原理...我想传递表单名称和提交按钮名称,以便该函数可以评估传递的值并启用或禁用提交按钮。

如果我明确使用名称,它就可以工作,但我希望它能够动态工作。不幸的是,我只是不明白如何正确使用这些参数。

现在第一个文档语句有效(使用了表单名称和按钮名称),为什么使用参数的第二个文档语句不起作用?我从警报中知道表单名称不正确并且不能按原样使用,但即使我明确命名表单但使用看起来正确的传递按钮名称,这也不起作用。

我知道这一定是 javascript 101,但我一次又一次地遇到这种情况,但我只是不明白是什么。有谁愿意给我解释一下吗?

<script type="text/javascript">
function aTest(formName,objName,val){
if (val<5){
document.aForm.aBtn.disabled=false;
alert(formName+" - "+objName);
}
else {
document.formName.objName.disabled=true;
}
}//end function aTest(formName,objName)
</script>

<form name="aForm">
<input name="testFld" type="text" onBlur="aTest(this.form,'aBtn',this.value)">
<input name="aBtn" type="submit" value='submit'></form>

感谢您的关注!

最佳答案

尝试:

document[formName][objName].disabled = true;

当您需要通过某个表达式的值而不是常量来访问对象的属性时,可以使用方括号运算符。计算括号内的表达式,然后将其值视为要查找的属性名称。

现在,确保“formName”确实是表单的名称可能是明智的:

if (document[formName] != null && document[formName][objName] != null) {
document[formName][objName].disabled = true;
}

或更通俗地说:

if (document[formName] && document[formName][objName]) {
document[formName][objName].disabled = true;
}

关于javascript - 将表单名称和表单对象名称传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9806842/

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