我想向所有onSubmit
添加HTML Forms
个事件,以验证提交文件大小并阻止其通过javascript
提交。
问题是我没有id
的{{1}},也没有form
的{{1}}。现在,我如何访问所需file input element
的值?
每个页面中可能有多个input
,其中forms
个未知,但每个id
只有一个form
。该元素的file input element
也是未知的。
示例id
:
form
和我使用的javascript:
<form onSubmit="checkSize(1000000)" enctype="multipart/form-data" action="changedata.php" method="post" >
<input class="user_upload_file" type="file" name="file" />
<input type="submit" value="submit" />
</form>
此外,我无法更改所有function checkSize(max_img_size)
{
//file_input_id is unknown so, the following input could not be defines:
var input = document.getElementById("file_input_id");
// check for browser support (may need to be modified)
if(input.files && input.files.length == 1)
{
if (input.files[0].size > max_img_size)
{
alert("File size is too big. ");
return false;
}
}
return true;
}
的{{1}},这非常耗费时间。我也不要使用id
。
感谢您的想法
答案 0 :(得分:1)
通过内部事件属性包含的事件处理程序在它们所附加的元素的上下文中被调用,您可以像任何其他变量一样传递它。
onsubmit="checkSize(1000000, this)"
从那里,您可以使用getElementsByTagName
和querySelector
等标准DOM方法以及elements
属性来查找后代元素。