Thomas J.S.: Script einbauen

Beitrag lesen

Hallo Thomas,

Dann bekommt der OP aber ein "PHP-Kindelement" von input, also etwa <input ...><?php ... ?></input>

Ehm, ja.

AFAIK ist das mit XSLT-Mitteln nur so hinzubekommen:

<xsl:text disable-output-escaping="yes">&lt;input type="checkbox" onchange="this.form.submit()" name="</xsl:text><xsl:value-of select="@id"/><xsl:text disable-output-escaping="yes">" &lt;?php getState('box1')?&gt; /&gt;</xsl:text>

Damit bekommt er leider auch nur ein (zumindest Saxon produziert dies):
<input type="checkbox" onchange="this.form.submit()" name="" ><?php getState('box1')?> />

Das einzige wo ich das <?php ...?> jetzt auf die Schnelle "reinbekommen" habe ist:

<xsl:variable name="createCheckbox">
 <![CDATA[
  <input type="checkbox" onchange="this.form.submit()"
 ]]>
 name="<xsl:value-of select="@id" />"
 <![CDATA[
  <?php getState('box1')?> />
 ]]>
</xsl:variable>
<xsl:value-of select="$createCheckbox" />

Allerdings erzeugt dies logischer Weise einen Text und ein <xsl:value-of select="$createCheckbox" disable-output-escaping="yes" /> hat denselben Effekt wie dein Bsp. also ein <input type="checkbox" onchange="this.form.submit()" name=""><?php getState('box1')?> />

Woher und warum der Prozessor hier den unnötigen ">" einfügt weiss ich jetzt auch nicht.

Ich sehe jetzt an sich nur eine Möglichkeit: er speichert den Wert von name="" in der Ausgabe in einer PHP-Variable und erstellt dann das <input> komplett mit PHP dabei holt er den Wert für name="" aus der Variable.

Grüße
Thomas