我正在尝试实施文件上传按钮,一旦选择了文件,用户就会被定向到另一个带有表单的页面,以便在提交之前填写额外的数据。
这可能吗?要将输入值传递到另一个页面?我注意到"值"表单项的值不是真值(即前缀为" C:\ fakepath \"),因此表单上的简单setValue()可能不起作用。
如果它有任何区别,我正在使用angular和ui-router。当我说改变页面时,我的意思是改变状态。
答案 0 :(得分:2)
您可以将File
对象从HTMLInputElement.files
作为参数传递到状态:$state.go('form', {'file': file})
。
我已经创建了fiddle来演示此解决方案。 第一个状态提示用户选择文件,然后将它们重定向到第二个状态,将文件作为参数传递。在这个例子中,文件名只是打印出来,但你也可以轻松读取文件。
答案 1 :(得分:0)
尝试将表单添加为模式弹出窗口:
$(function() {
$("#dialog").dialog({
autoOpen: false,
show: {
effect: "blind",
duration: 1000
},
hide: {
effect: "explode",
duration: 1000
}
});
$("#file").change(function() {
$("#dialog").dialog("open");
});
});
<meta charset="utf-8">
<title>jQuery UI Dialog - Animation</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<div id="dialog" title="Basic dialog">
<p>Put your form here, for example.</p>
</div>
<input type="file" id="file" />