私はSharePointからの値を持っています<xsl:value-of select="@fldNm" />
これには、空の文字列または「はい」の 2 つの可能な値のうちの 1 つがあります。これは<xsl:template name="dvt_1.rowedit">
、SharePoint 表示フォーム内にあります。
値が空文字列の場合は1文字表示したいのですが、「はい」の場合は別の文字を表示したいです。
タグを HTML にインラインで配置し、document.write()
. しかし、アクションを fldNm の値に応答させることができません。
私は多くの例を見つけましたが、それらは私がやろうとしていることとはあまりにも異なっているので、それらを理解することはできません.
これは状況です:
SharePoint カスタム リストを作成すると、newForm、editForm、dispForm の 3 つの .aspx ページが作成されます。
これらの .aspx ページには、あらゆる種類の xsl および xslt 機能が読み込まれます。いくつかの xsl テンプレートが作成され、そのうちの 1 つは、.aspx が使用されたときに表示される HTML を保持します。そのテンプレートは、SharePoint によって「dvt_1」という名前が付けられます。次に、そのテンプレートが<xsl:for-each select="$Rows">
xsl 構造で呼び出されます。
dispForm ページで呼び出されたテンプレート内で、各データは以下を使用して表示されます。
<td>
<div>
<xsl:value-of select="@fieldName" />
</div>
</td>
ページがレンダリングされると、その 'value-of' タグは、(もちろん) psecified されたフィールドの内容に置き換えられます。
私の場合、設計要件ドキュメントのため、質問しているフィールドには「はい」または「」が含まれます。
はいの場合は、「はい」を示す単一の文字をそこに置きたいと思います。それ以外の場合は、「そうではない」ことを示す別の文字をそこに置きたいと思います。
レンダリングされた値を選択構造に取り込む方法がわかりません。
私は次のようなものを試しました
<td>
The answer is: <script> if (<xsl:value-of select="@fieldName" /> == 'yes') {
document.write('A');
} else {
document.write('B');
}
</script>
</td>
しかし、xsl タグはそのように認識されませんでした。
私は xsl に非常に慣れていないため、構文がどのように機能するかを理解し始めていますが、まだ非常に不思議です。