我正在重写一个表单提交事件,代码如下:
form.onsubmit = function(event) {
event.preventDefault();
当我在一个单独的函数中这样调用表单的submit方法时:
```javascript form.submit(); ```
表单就会被提交。
form.submit();
onsubmit函数未被调用,表单会像平常一样被提交。
有何想法?
编辑:
我还在此表单中创建了一个文件输入,并立即调用其点击事件。这会影响表单提交事件吗?
if (fileInput && document.createEvent)
{
var evt = document.createEvent('MouseEvents');
evt.initEvent('click', true, false);
fileInput.dispatchEvent(evt);
}
编辑 #2:
当文件输入的值改变后,我通过调用表单的提交函数来提交表单:
function nameFileLabel(id)
{
var f = document.getElementById('fileForm' + id);
var l = document.getElementById("fileText_" + id);
var i = document.getElementById("fInputId" + id);
if (i.value != '')
{
l.innerHTML = i.value.replace('fakepath', '...');
var theUploadForm = document.getElementById('fileDiv_' + id);
theUploadForm.style.visibility = 'visible';
theUploadForm.style.display = 'block';
f.submit();
}
}