javascript onsubmit не работает
Я пытаюсь заставить функцию javascript работать над отправкой формы, функция, похоже, не запускается. Кто-нибудь может помочь?
<html>
<head>
<script>
function upload(){
alert("I am an alert box!");
}
</script>
</head>
<body>
<form enctype="multipart/form-data" method="post" onsubmit="return upload();">
<input type="file" name="file">
<input type="submit" name="upload" value="Datei hochladen">
</form>
</body>
</html>
2 ответов
при присоединении обработчика событий к элементу формы областью действия обработчика событий является форма, а не окно
<form enctype="multipart/form-data" method="post" onsubmit="return upload(this);">
<script>
function upload(scope) {
console.log(scope); // The passed scope from the event handler is
} // the form, and not window
</script>
как входные элементы внутри формы прикрепляются как свойства к объекту формы, где имя является ключом, вызывающим upload()
в обработчике событий, где областью является форма, будет равно вызову form.upload()
, но форма уже имеет элемент с этим именем so form.upload
это кнопка загрузки, а не upload()
функция в глобальном масштаб.
чтобы решить эту проблему, переименуйте функцию или элемент
<html>
<head>
<script>
function upload(){
alert("I am an alert box!");
}
</script>
</head>
<body>
<form enctype="multipart/form-data" method="post" onsubmit="return upload();">
<input type="file" name="file">
<input type="submit" name="upload2" value="Datei hochladen">
</form>
</body>
</html>
добавить оператор return в свой код
enter code here
<script>
function upload(){
alert("I am an alert box!");
return false;
}