Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在表单中隐藏文件输入项?_Javascript_File_Input - Fatal编程技术网

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

Javascript 如何在表单中隐藏文件输入项?,javascript,file,input,Javascript,File,Input,我正在开发一个网页,允许用户上传一个字体文件,但要求是在用户选择一个文件后显示字体名称,然后他可以决定是否上传,字体名称是字体文件中的一个属性,文件名可能是“123.ttf”,但当您右键单击字体文件并查看它的“Title”前缀时,它被调用“ACME Explosive Bold”,因此我的Javascript最好能找到这种字体的“Tilt”属性,但经过大量研究,我被告知JS无法获得该属性,而另一方面,我找到了一段Java代码可以获得该属性 所以现在我试图在页面上隐藏第二个表单,输入字段的值将是用

我正在开发一个网页,允许用户上传一个字体文件,但要求是在用户选择一个文件后显示字体名称,然后他可以决定是否上传,字体名称是字体文件中的一个属性,文件名可能是“123.ttf”,但当您右键单击字体文件并查看它的“Title”前缀时,它被调用“ACME Explosive Bold”,因此我的Javascript最好能找到这种字体的“Tilt”属性,但经过大量研究,我被告知JS无法获得该属性,而另一方面,我找到了一段Java代码可以获得该属性

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

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

以下是我目前的代码:

![<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>]
![
上传字体
字体文件:
]

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

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

使用
显示:无
而不是
可见性:隐藏
,这样就不会占用页面空间。