(I'm posting this on the dev list because I may end up filing something on Bugzilla, but I wanted to talk it over first...)

Anyway.... I'm not getting the idea of what forms-field-styling.xsl is trying to do with <fi:upload>... all I know is that it's not what I need! :-)

<xsl:template match="fi:upload">
<xsl:choose>
<xsl:when test="fi:value">
<!-- Has a value (filename): display it with a change button -->
<span title="{fi:hint}">
[<xsl:value-of select="fi:value"/>] <input type="submit" id="[EMAIL PROTECTED]" name="[EMAIL PROTECTED]" value="..."/>
</span>
</xsl:when>
<xsl:otherwise>
<input type="file" id="[EMAIL PROTECTED]" name="[EMAIL PROTECTED]" title="{fi:hint}" accept="[EMAIL PROTECTED]"/>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="." mode="common"/>
</xsl:template>

My form has an action widget whose handler cares about the value of the upload widget (this handler does the upload). So when the form is redisplayed, I no longer get an <input type="file">, instead I get a submit button (!).

This handling of fi:upload was obviously designed to support some scenario, but it's undocumented and (a) obvious to me what that might be, and (b) as I mentioned, it doesn't fit what I'm trying to do.

I tried to defeat this behavior by doing this immediately before exiting my action widget handler:

wid.logoFile.value = null;

...but that loses: "value of <fd:upload> widget cannot be manually set", or something to that effect.

I would petition that the default handling of <fi:upload> should always just generate an <input type="file">, and let the special handling that is the current default be selected using an <fi:styling> attribute.

Or, that it be allowed to set the value of an upload widget to null (fine with me if setting it to a non-null value were disallowed).

WDYT?
mark

Reply via email to