IE8在浏览按钮旁边呈现文本框以进行文件输入:
<input type="file" />
据我所知,对于使用JavaScript可以对文件输入执行的操作存在许多安全限制,但是当用户关注此文本框并按Enter键时,是否有一种很好的方法可以阻止父表单提交?
答案 0 :(得分:1)
我会看看使用jQuery的keypress并捕获它。我自己没有这样做测试,但看看这里:
答案 1 :(得分:1)
最简单的方法是在表单元素的onSubmit
事件处理程序中返回false。据推测,您希望实际触发表单提交的表单中的其他位置有一个按钮。在该按钮上,您可以添加一个调用form.submit()的onclick
处理程序。以编程方式提交表单时,不会触发onSubmit
处理程序。
可能看起来像这样:
<form id="myform" method="post" action="http://yourserver/page" onSubmit="return false;">
<input id="myfile" type="file" name="file"/>
<input type="button" value="upload" onClick="submitForm();" />
</form>
<script type="text/javascript">
function submitForm()
{
// if no file, don't submit
var file = document.getElementById("myfile");
if (file.value.length == 0) return;
var form = document.getElementById("myform");
form.submit();
}