2016-07-11 7 views
0

"ではなく、"として文字エンティティが使用されているという点で、HTMLエンティティを使用するときに入力フィールドの値を設定しようとすると問題が発生します。ここでHTMLエンティティを使用して要素値を設定する

は、私が使用していますコードです:私は出力がtest"""になりたいけれども出力はtest"""ある

document.getElementById('inputSurname').setAttribute('value', 'test"""'); 

します。

ソースコードでは、ここで設定したのと同じ方法で表示されるため、ダブルエンコードの問題はありません。

これはHTMLエンティティ形式の値をデコードすることができると私は知っていますが、これはセキュリティのために可能な限り避けたいものです。

任意の助けもいただければ幸いです:)

+2

フォームフィールドにHTMLは使用できません。テキストのみです。これは、値を使って入力の値を太字にすることはできないのと同じ理由です。CSS – j08691

答えて

2

このお試しください:

document.getElementById('inputSurname').value = 'test"""'; 

をそれとも、& QUOT維持したい場合:

function myFunction() { 
    document.getElementById('myText').value = replaceQuot('test&quot&quot&quot'); 
} 
function replaceQuot(string){ 
    return string.replace('&quot', '""'); 
} 
+0

問題は私が値を「"」として保存していることです。 HTMLエンティティをデコードします。 – harryjamesuk

+0

jqueryフレームまたは角度フレームワークを使用していますか? –

+0

私はjQueryを使用しています。 – harryjamesuk

0

をさてあなただけの新しい値を書くことができます'test"""'となります。他の文字については

は、しかし、私はこの答えにあなたを参照してくださいするつもりです:HTML Entity Decode

1

それとも、エスケープ文字を使用することができます。

document.getElementById("inputSurname").setAttribute("value", "test\"\"\"\"");

関連する問題