在XSLT中,如何用空格填充文本字段?

时间:2015-05-04 21:22:54

标签: html xml xslt padding spacing

我有一个包含三个字段的表,如下所示:

<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)让函数执行的其他一些方法,而不是每次字段值改变时执行?

0 个答案:

没有答案