jqueryでcdataノードを設定する際に問題があります。 cdataの取得は.text()関数で簡単に行えますが、.text( 'jquery>便利')を使用するとcdataノードは作成されません。jquery set xml cdata
これは私のprocecureです:
<formdata>
<field id="title"><![CDATA[Some title]]></field>
<field id="description"><![CDATA[Some description]]></field>
</formdata>
フィールドは、特殊文字のすべての種類を含めることができるので、私はCDATAノードを使用します。 私は形でこのような 何かをロードするためのXML形式のフォームデータを取得します。 次に、ノードの内容を.text()で取得してデータをフォームにロードします。
ユーザーがフォームを投稿すると、xmlを更新してサーバーに送信するためにstingに変換します。私はフィールドを投稿することができますが、xmlドキュメントに入れるのにはいくつかの理由があります。すべてがうまくいきますが、ユーザーが特殊文字を使って何らかの入力をした場合は動作しません。 これは私は、CDATAにするために使用ノード、しかしの.text()関数は、それを除去する(この例では「descriptioonノード」)
domdoc.find('field[id="description"]').text($("#description").val());
ノードの値を設定する方法です。私はこれを試してみましたALO:の.text()は< &にGTが変更されるため
domdoc.find('field[id="description"]').text('<![CDATA[' + $("#description").val() + ']]>');
また、これは動作しません。
誰にも解決策がありますか?私のインスピレーションは、<![CDATA[
を追加することなく、.....
おかげで、 サイモン
ありがとうporneL、 私はそのように理解しようとします。 – simon
あなたに感謝しました。それでも、cdata機能を使うことができないのはちょっと奇妙です。 – simon
例えば、あなたのXMLにHTMLを挿入できるようにするために、これは完全に役立ちません。<![CDATA [[ここをクリックしてください]。 html-comment>]]> –
Spider