Я посмотрел на вашу скрипку, у нее есть дополнительная закрытая скобка. Это должно сработать.
function myFunction() {
alert("I am an alert box!");
return false;
};
Ваш скрипку выглядел следующим образом:
function myFunction() {
alert("I am an alert box!");
}
};
EDIT 1: Я добавил return false
, так как пользователь не хочет, чтобы отправить форму.
EDIT 2:
Поскольку никто не хочет объяснить этот вопрос JS скрипку, я возьму удар его.
В исходном JS Fiddle «onLoad» используется во втором выпадающем меню боковой панели.
Причина, по которой этот параметр не работает, заключается в том, что JS Fiddle выполняет javascript-код в функции onload. Это означает, что myFunction выходит за рамки.
Вот почему вам нужно использовать опции «Без обертывания» и «Без обертывания» в раскрывающемся меню. Используя эти два варианта, ваша функция myFunction
будет находиться в глобальной области.
Я надеюсь, что это прояснит ситуацию.
Редактировать 3
Если вы действительно хотели использовать событие OnLoad. Вместо этого вы можете добавить обработчик события клика и удалить атрибут onclick
в разметке кнопки отправки.
В целом, вероятно, лучше настроить обработчики событий с помощью javascript.
document.getElementById('hit').addEventListener('click', function() {
alert("I am an alert box!");
});
Если вы хотите использовать JQuery, вы можете сделать это:
$('#hit').click(function() {
alert("I am an alert box!");
});
Попробуйте 'OnClick = "MYFUNCTION(), возвращение ложным"' но это остановит вашу форму работать. – Oliver
Как сказал oliver, если вы выполните 'return false ', ваш JS должен выполнить, но это предотвратит продолжение представления, поэтому ваша форма не будет отправлена. –
Должно ли не обработчик работать в любом случае, а затем отправить форму? –