从Javascript获取创建HTML的XSL元素

时间:2012-02-02 12:36:57

标签: javascript asp.net html xslt

我有一个包含XSL信息的asp:xml标记:

<asp:xml id="XmlMetadataFields"  TransformSource="ShowClientTypesPerItemActivity.xsl" ></asp:xml>

在这个XSL中,有一些代码可以生成HTML。与此相关的位:

<xsl:when test="@FieldTypeID = 5">
    <input type="checkbox">
        <xsl:if test="Visibility = 0">
            <xsl:attribute name="hidden">
                <xsl:value-of select="@Visibility"/>
            </xsl:attribute>
        </xsl:if>
        <xsl:attribute name="name">
            DefValue<xsl:value-of select="@FieldID"/>
        </xsl:attribute>
        <xsl:attribute name="id">
            DefValue<xsl:value-of select="@FieldID" />
        </xsl:attribute>
        <xsl:if test="Value = true">
            <xsl:attribute name="checked">
                <xsl:value-of select="Value"/>
            </xsl:attribute>
        </xsl:if>
    </input>
</xsl:when>

Javascript函数尝试在此XSL中调用HTML:

if(document.all["DefValue639"].checked)

问题是,javascript没有找到XSL中的元素。当我右键将HTML页面输出添加到客户端时,我找不到输出(无法在任何地方找到DefValue)。

如何从Javascript访问XSL?我完全误解了什么吗?

1 个答案:

答案 0 :(得分:0)

你必须像这样制作input - 标签才能设置属性:

<xsl:element name="input">
    <xsl:attribute name="type">checkbox</xsl:attribute>
    ...
</xsl:element>