Я переопределение формы представить событие, как это:Javascript переопределения формы onsubmit событие не работает
form.onsubmit = function(event) {
event.preventDefault();
Но когда я звоню представить в форме, как это в отдельной функции:
form.submit();
функция onsubmit не вызывается, а форма и форма отправляются как обычно.
Любые мысли?
Edit:
Я также создает входной файл в этой форме и сразу же вызвав щелчок событие. Будет ли это повлиять на форму отправить событие ?:
if (fileInput && document.createEvent)
{
var evt = document.createEvent('MouseEvents');
evt.initEvent('click', true, false);
fileInput.dispatchEvent(evt);
}
Edit # 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();
}
}
вы также можете попробовать onClick = "function_name" в своем теге формы html. – syms
что я вижу теперь в вашем отредактированном коде, который вы публикуете в форме через javascript. И, таким образом, onsubmit не вызван. Причина проста, что браузер думает, что вы отправляете свою форму через код, так что вы уже сделали предварительную обработку перед вызовом метода отправки. Итак, IMO, прежде чем вы вызываете оператор f.submit(), вы должны вызывать все остальные методы, которые вы хотите выполнить перед отправкой формы. –
Маниш, см. Мое решение ниже. Вы были на правильном пути. Спасибо за вашу помощь. :-) – Xavi