2017-07-06 6 views
2

私はAdobe AEMフォームを使用しています。スクリプト用のjavascriptです。AEMフォーム:テキストフィールドのアクセス制御を変更する

私のフォームには、ユーザーがドロップダウン値項目の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" 
} 

テキストフィールドを読み取り専用に変更できますが、書き込み可能に戻すことはできません。誰か助言する方法を私にすることができますか? "readOnly"以外、テキストフィールドに他のアクセス制御を割り当てることができます。

ありがとうございます!

+0

あなたは 'みましたTextfield.access = "" '? –

+0

私はやったし、それは動作します!本当にありがとう! – geeceekay

答えて

2

私のコメントで提案されているように動作する理由について、いくつかの詳細を追加するだけで、すでに受け入れられた回答があります。

TextField.access="literal"; 

はリテラルはこっちHTMLを壊さないように許可された値をチェックするための枠組みの中でいくつかの検証があります

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

以下のようにマークアップを生成します。重要な問題は、このリテラルは属性ではないため、値を持つことができないことです。たとえば、次のマークアップはできません。

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

属性をクリアするためには、あなたがそれをリセットすることができる唯一の方法は、以下のように空の文字列を使用することです:

TextField.access=""; 
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" 
} 
+0

別のアカウントを使用してこれに回答してください。 dtr-javaに寄付 – geeceekay

+0

実際に自分のアカウントを使って質問に答えることができます。それは私がここで間違っている場合は改造して私に正しい(私は正しい)私は悩むことはありません。 –

関連する問題