2012-02-02 13 views
1

から、HTMLを作成し、XSLから要素を取得するこのXSLインサイド私はASP持っJavascriptを

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

を、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にアクセスするにはどうすればよいですか?私は何かを完全に誤解しましたか?

+0

あなたがxlsファイルを達成するために何をしたいですか? xslの典型的な使い方は、たとえばpure xmlをhtmlに変換することです。 –

+0

これは、このXSLの機能です。「ソースを表示」を右クリックしてもHTMLコードが表示されませんが、ブラウザに表示されるHTMLの出力がHTML形式で表示されます。ところで、私はチェックボックスを見ることができません。 – jbkkd

+0

申し訳ありませんが、実際にXSL自体にアクセスしようとしていますか、XSLをXMLにオーバーレイすることによって生成されるHTMLですか? –

答えて

0

あなたは、属性を設定するために、このようなinput -tagを行う必要があります。

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

私はこれを試しましたが、何らかの未知の理由でチェックボックスがテキストボックスになりました。私はすべてのことが正しいことを二重にチェックし、出力にあるHTMLさえもチェックボックスとして書かれていますが、テキストボックスとして表示されます。 – jbkkd

+0

出力の例を教えてください。 –

+0

ここに出力を貼り付けるうちに、問題が見つかりました。 XSLは、XSLの行間にスペースを入れて書いたので、出力に白いスペースが追加されました。 ありがとう! – jbkkd