如何隐藏表单中的文件输入项?

时间:2012-09-28 15:38:47

标签: javascript file input

我正在开发一个允许用户上传字体文件的网页,但要求是在用户选择文件后显示字体名称,然后他可以决定是否上传,字体名称是属性字体文件,文件名可能是“123.ttf”,但是当你右键单击字体文件并查看它的“标题”属性时,它被称为“ACME Explosive Bold”,所以我的Javascript应该理想地找到“tilte” “这个字体的属性,但经过大量的研究,我被告知JS无法获得这个属性,而另一方面,我发现了一段可以获得它的Java代码。

所以现在我正在尝试隐藏页面上的第二个表单,其输入字段的值将是第一个表单中用户选择的文件,当用户选择文件但在单击第一个表单的提交按钮之前,我的JS用用户选择的文件调用第二个表单,提交它并运行一个servlet来找到它的“Title”并返回并在页面上显示它,然后在服务器上删除该文件,因为用户从未正式提交过它。 / p>

所以我的问题是如何使用它自己的输入文件字段和页面上的浏览按钮隐藏第二个表单,我需要表单标记,以便我可以模拟提交。但我不想让用户看到它?

到目前为止,这是我的代码:

![<div class="body">
    <h1>Upload Font</h1>                                                       <%-- \[+\] --%>
    <s:form namespace="/font" action="add" method="POST" enctype="multipart/form-data">
        <div class="dialog">
            <table>
                <tbody>
                    <tiles:insertAttribute name="form" />
                    <tr class="prop">
                        <td valign="top" class="name required">
                            <label for="description">Font File:</label>
                        </td>
                        <td valign="top">
                            <s:file name="file" size="62" theme="simple" id="fname" onchange="fileUpload('/pages/font/getFontTitle.jsp',value,this.files\[0\])"/>
                        </td>
                    </tr> 
                    <tr class="prop">
                        <td>
                            <span class="button"><s:submit/></span>
                        </td>
                    </tr> 
                </tbody>
            </table>
        </div> 
    </s:form>
    <s:form namespace="/font" action="hiddenForm" method="POST" enctype="multipart/form-data">
        <div class="dialog">
            <table>
                <tbody>
                    <tr class="prop">
                        <td valign="top">
                            <s:file name="file" size="62" theme="simple" id="fname_1"/>
                        </td>
                    </tr>
                </tbody>
            </table>
        </div> 
    </s:form>
</div>]

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以使用CSS属性visibility:hidden。隐藏第二个表单。

<s:form namespace="/font" style ='visibility:hidden' action="hiddenForm" method="POST" enctype="multipart/form-data">