获取隐藏的输入类型=文件以按需工作

时间:2010-10-26 09:05:54

标签: jquery asp.net-mvc

我正在尝试将隐藏文件上传到iframe而且我被卡住了。 似乎不起作用的是选择一个文件。 当我取消隐藏表单控件并使用它们时,一切正常。 如果我使用表单控件来选择文件,然后通过“发送”链接提交表单 - 它工作正常。 当我使用选择文件链接时,我可以看到文件控件填满了我选择的文件,但提交按钮不提交表单或文件没有上传。 因此,我无法将这些文件链接起来,以便在我选择文件后立即自动上传文件。

请告诉我我做错了什么。

<div class="fileuploader">

<form id="fileupload" action="@Url.Action("UploadFile","Publication")"
      method="post" enctype="multipart/form-data" target="upload_target" >
style="display:none"
<input id="filetoupload" name="filetoupload" type="file" /><`enter code here`br />
<input id="submitbutton" type="submit" name="submitBtn" value="Upload" />
</form>
<iframe id="upload_target" name="upload_target" src="#" style="width: 0; height: 0;
border: 0px solid #fff;"></iframe>
</div>
<div>

<a href="#" id="choosefile">choose a file</a>
<a href="#" id="send">send</a>

</div>

<script type="text/javascript">
$("#send").click(function(){$("#submitbutton").click();});
        $("#choosefile").click(function () { 
  $("#filetoupload").click();
        });
</script>

1 个答案:

答案 0 :(得分:1)

对文件输入表单元素的脚本访问非常有限。 您无法以编程方式单击该控件的“浏览”按钮。

必须使用标准html控件的唯一方法是使用SwfUpload等Flash库,其中包括自定义“浏览”按钮