IE8渲染文本框旁邊的瀏覽按鈕,文件輸入:停止<enter>從IE8的文件輸入提交表格
<input type="file" />
據我所知,有關於您可以用文件做了一些安全方面的限制使用JavaScript輸入,但有沒有一種很好的方式來阻止父窗體提交當用戶關注此文本框並按下回車?
IE8渲染文本框旁邊的瀏覽按鈕,文件輸入:停止<enter>從IE8的文件輸入提交表格
<input type="file" />
據我所知,有關於您可以用文件做了一些安全方面的限制使用JavaScript輸入,但有沒有一種很好的方式來阻止父窗體提交當用戶關注此文本框並按下回車?
我會看看使用jQuery的按鍵並捕捉它。我還沒有完成這件事我自己在這裏測試,但看看:
最簡單的方法是簡單地在表單元素上的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();
}
不利的一面是,當JavaScript被禁用時,表單根本不能被提交,除非不自然(通過在文件名框中按Enter鍵,瀏覽器將此視爲提交請求)。 –
啊,本來以爲你不能附加按鍵到文件輸入,但我只是不正確地選擇輸入。在排序後進行了一次治療。 – ajbeaven