Bonjour,
Je vous explique mon problème:
j'ai un formulaire contenant un nombre d'article variable à saisir. J'utilise donc
<xsl:for-each select="//ARTICLES/ROW">
Les champs de saisis sont des input, et j'y accède grâce à des fontions javascript qui contiennent
document.forms(0).elements(XXX).value
où XXX est le numéro d'article.
Jusque là tout va bien.
Maintenant, ça se corse car je dois faire évoluer ce code, et ne plus utiliser des input, mais des objets ActiveX, et là, je ne sais pas comment y accéder, sachant que leur nombre est variable.
Voilà à quoi ressemble mon XSL:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" version="1.0">
<xsl:template match="/">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<SCRIPT>
<xsl:comment>
<![CDATA[
//Debut script javascript
.....................................................
]]>
</xsl:comment>
</SCRIPT>
<body width="240">
<xsl:apply-templates select="CF/ARTICLES"/>
<form name="formcore">
<table align="center" width="80%">
<xsl:for-each select="//ARTICLES/ROW">
<TR>
<td colspan="2" align="center"><hr/><xsl:value-of select="//LIBELLES/ARTICLE"/> <xsl:value-of select="@numero"/></td>
</TR>
<TR>
<td><xsl:value-of select="//LIBELLES/EANCODE"/></td>
<td id="idEAN" align="left">
<OBJECT ID="txtNoSIP" CLASSID="clsid:A72D1405-40C2-11D6-918E-00C0DF232EEE" WIDTH="100" HEIGHT="20">
<PARAM NAME="VALUE" VALUE=""/>
<PARAM NAME="MAXLENGTH" VALUE="14"/>
<PARAM NAME="ALIGNMENT" VALUE="LEFT"/>
</OBJECT>
</td>
</TR>
</xsl:for-each>
<tr>
<td align="center">
<input type="button">
<xsl:attribute name="value"><xsl:value-of select="//LIBELLES/ANNULER"/></xsl:attribute>
<xsl:attribute name="onClick">CFAbort()</xsl:attribute>
</input>
</td>
<td align="center">
<input type="button">
<xsl:attribute name="value"><xsl:value-of select="//LIBELLES/VALIDER"/></xsl:attribute>
<xsl:attribute name="onClick">CFValidate()</xsl:attribute>
</input>
</td>
</tr>
</table>
</form>
</body>
</html>
</xsl:template>
</xsl:stylesheet> |
Mon ActiveX <OBJECT> remplace ce que j'avais avant:
1 2 3
| <input maxlength="13" id="idEAN" size="14">
<xsl:attribute name="onChange">setCurrentRow(<xsl:value-of select="@numero"/>);CFEanChanged();</xsl:attribute>
</input> |
Voilà. Pour info, ceci est destiné à être affiché sur un PDA avec PocketPC dans un navigateur propriétaire (d'où l'emploi d'ActiveX).
Merci pour votre aide.
Partager