【问题标题】:Input Field returns undefined but works after changing the value输入字段返回未定义但在更改值后有效
【发布时间】:2021-11-03 10:38:09
【问题描述】:

当我第一次点击这个功能时。它返回一个未定义的值。当我再次单击该功能时,此代码在此表单以及之后的每个表单中都可以正常工作。

alert(characters[x].ac+"/"+this.value+"/"+this.ac) 最初返回 undefined/undefined/0。 当我再次单击该函数并以我想要的方式捕获值时,它返回 26/undefined/0。所以基本上是在我最初单击粗体文本以使文本字段出现时,characters[x].ac 未定义。

如何使“未定义”列表消失。当我第一次更改数组的值时会发生这种情况,但之后在同一个数组中以每种形式都可以正常工作。

function askAc(x) {
    if(this.ac!=0) {
        response=this.ac;
        characters[x].setAc(response);
        this.ac=0;
    } else {
        response="<input class=widgetstyle onClick=_setAc(this.value) size=2 type=text value="+characters[x].ac+">";
        characters[x].setAc(response);
    }
}
function _setAc(x) {
    this.ac=x;
    this.refresh();
}

【问题讨论】:

    标签: javascript undefined


    【解决方案1】:

    您的输入字段是否有 value="" 属性或缺少?缺失值 attr 可能会导致未定义(可能只是在某些浏览器中)。

    从您的代码中不清楚您正在访问哪个输入字段。

    【讨论】:

    • menuContents+="ac:"+this.ac+"" 这里没有值 att .如果标签是 ,我如何分配一个?
    • 我相信你有正确的答案。现在我只需要弄清楚如何将值分配给不是输入标签的标签。有什么建议吗?
    • 没有 value 属性。如果您将 .value 添加到您的 对象,那么它不等同于 value="" 它只是一个对象变量。在您的情况下,您必须确保在第一次使用之前手动初始化 .value。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签