ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で非表示の入力フィールドから値を取得するときに HTML エンコーディングを維持するにはどうすればよいですか?

JavaScript で非表示の入力フィールドから値を取得するときに HTML エンコーディングを維持するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-01 08:32:10751ブラウズ

How Can I Preserve HTML Encoding When Retrieving Values from Hidden Input Fields in JavaScript?

隠しフィールド属性の読み取り時に HTML エンコーディングを維持する

エンコードされた隠し入力フィールドから値を抽出する場合、JavaScript は処理中にエンコーディングを失うことがよくあります。 。リテラルのアンパサンド (&) 文字を保持することが意図されている場合、これは問題になります。

解決策:

この問題に対処するために、JavaScript は HTML エンコードできるメソッドを提供します。文字列。そのようなメソッドの 1 つは次のとおりです:

function htmlEncode(value) {
  // Create an in-memory textarea element and set its inner text.
  // Text within a textarea is automatically encoded.
  return $('<textarea/>').text(value).html();
}

使用法:

この関数をコードに組み込んで、非表示フィールドからの読み取り時に HTML エンコーディングが維持されるようにすることができます:

var encodedValue = $('#hiddenId').attr('value');
var decodedValue = htmlDecode(encodedValue);

あるいは、jQuery ライブラリには、エンコード:

// Decoding the encoded value
var decodedValue = decodedValue = $('<div/>').html(encodedValue).text();

例:

隠しフィールドを検討します:

<input>

htmlEncode() 関数の使用:

var encodedValue = $('#hiddenId').attr('value');
console.log(encodedValue); // Outputs: chalk &amp; cheese

htmlDecode() の使用メソッド:

var decodedValue = $('<div/>').html(encodedValue).text();
console.log(decodedValue); // Outputs: chalk &cheese

どちらの場合も、抽出プロセス中に元の HTML エンコーディングが保持されます。

以上がJavaScript で非表示の入力フィールドから値を取得するときに HTML エンコーディングを維持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。