我有一个包含三个字段的表,如下所示:
<table cellpadding="0" cellspacing="0" class="innerBodyColor">
<tr>
<th style="width:303px"><label class="Label" for="First">First:</label></th>
<th style="width:181px"><label class="Label" for="Second">Second:</label></th>
<th style="width:117px"><label class="Label" for="Third">Third:</label></th>
</tr>
<tr>
<td style="padding-right: 5 px">
<xsl:call-template name="text">
<xsl:with-param name="name" select="'First'"/>
<xsl:with-param name="fontSize" select="'Large'"/>
<xsl:with-param name="editType" select="'AlphanumericSC'"/>
<xsl:with-param name="maxLength" select="'16'"/>
<xsl:with-param name="width" select="'303'"/>
<xsl:with-param name="onValueChange">handleValueChange(); setHidden(); padSpaces(); </xsl:with-param>
</xsl:call-template>
</td>
<td style="padding-right: 5 px">
<xsl:call-template name="text">
<xsl:with-param name="name" select="'Second'"/>
<xsl:with-param name="fontSize" select="'Large'"/>
<xsl:with-param name="editType" select="'AlphanumericSC'"/>
<xsl:with-param name="maxLength" select="'12'"/>
<xsl:with-param name="width" select="'181'"/>
<xsl:with-param name="onValueChange">padSpaces(); </xsl:with-param>
</xsl:call-template>
</td>
<td style="">
<xsl:call-template name="text">
<xsl:with-param name="name" select="'Third'"/>
<xsl:with-param name="fontSize" select="'Large'"/>
<xsl:with-param name="editType" select="'AlphanumericSC'"/>
<xsl:with-param name="maxLength" select="'10'"/>
<xsl:with-param name="width" select="'117'"/>
<xsl:with-param name="onValueChange">padSpaces(); </xsl:with-param>
</xsl:call-template>
</td>
</tr>
</table>
我使用padSpaces()函数尝试用给定数量的空格填充每个字段。
该功能如下所示:
function padSpaces()
{
var first = getValueById('First').replace(/\s/g, '');
var second = getValueById('Second');
var third = getValueById('Third');
while (first.length < 16)
{
first += " ";
}
setValueById('First', first)
}
这在某种程度上有效。事实上,它确实将第一个字段填充为16个字符,但这使得使用该字段变得困难,因为每次修改字段时它都会添加必要的空格(以达到其最大长度16)。这可能是因为代码正在执行&#34; onValueChange&#34;而不是当用户完成将数据输入现场时。
是否有:
1)用空格填充字段而不调用函数的其他方法;或
2)让函数执行的其他一些方法,而不是每次字段值改变时执行?