ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で非表示の入力フィールドから値を取得するときに HTML エンコーディングを維持するにはどうすればよいですか?
隠しフィールド属性の読み取り時に 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 & cheese
htmlDecode() の使用メソッド:
var decodedValue = $('<div/>').html(encodedValue).text(); console.log(decodedValue); // Outputs: chalk &cheese
どちらの場合も、抽出プロセス中に元の HTML エンコーディングが保持されます。
以上がJavaScript で非表示の入力フィールドから値を取得するときに HTML エンコーディングを維持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。