AEM表单:更改文本域

时间:2017-07-06 08:01:45

标签: javascript aem

我正在使用Adobe AEM表单,javascript用于编写脚本。

在我的表单中,我有一个下拉列表,允许用户选择一个下拉值项目或通过键入来填充文本字段。我的脚本如下:

Report.Page2.part2.body.subform.Dropdown::exit - (JavaScript, client)
if(this.selectedIndex == "0"){
    Textfield.access = "???????"
    Textfield.fillColor = "255,255,255"

}
else{
    Textfield.rawValue = this.rawValue;
    Textfield.access = "readOnly"
    Textfield.fillColor = "192,192,192"
}

我可以将Textfield更改为只读,但无法将其更改回可写。有人可以建议我怎么做?除了“readOnly”之外,还可以为文本字段分配哪些其他访问控制。

谢谢!

2 个答案:

答案 0 :(得分:2)

已经有一个已接受的答案,所以只是按照我的评论中的建议添加一些有关其工作方式的详细信息。

TextField.access="literal";

将生成如下标记

<input type="xxx" literal>
</input>

框架中有一些验证可以检查允许的值,因此文字不会在这里打破HTML。关键问题是这个文字不是一个属性,所以它不能有一个值。例如,以下标记是不可能的:

<input enabled="false"></input>

为了清除属性,你可以重置它的唯一方法是使用如下的空字符串:

TextField.access="";

答案 1 :(得分:1)

Report.Page2.part2.body.subform.Dropdown::exit - (JavaScript, client)
if(this.selectedIndex == "0"){
    Textfield.access = ""
    Textfield.fillColor = "255,255,255"

}
else{
    Textfield.rawValue = this.rawValue;
    Textfield.access = "readOnly"
    Textfield.fillColor = "192,192,192"
}