2016-05-05 3 views
0

Так что у меня есть этот HTML код:HTML кнопки ведет себя странно по щелчку

function sendMain() { 
 
    swal({ 
 
    title: "Preparando para mandar Email...", 
 
    text: "Clique em 'OK' para mandar o Email.", 
 
    type: "info", 
 
    showCancelButton: true, 
 
    closeOnConfirm: false, 
 
    showLoaderOnConfirm: true, 
 
    }, function() { 
 
    setTimeout(function() { 
 
     swal("Redirecionando!"); 
 
    }, 2000); 
 
    }); 
 
}
<button id="send" onclick="sendMain()">Mandar</button>

Где swal является функцией SweetAlert шоу оповещения. Дело в том, что когда я нажимаю на него, он показывает сообщение на 1/4 секунды, а затем переходит в верхнюю часть страницы и добавляет «?». до конца URL страницы. Что не так?

+0

Попробуйте добавить 'return false' в конец функции sendMain. –

+0

Возможно, ошибка библиотеки? пытались ли вы изолировать библиотеки? –

+0

Спасибо, @SergeSeredenko. Теперь он работает лучше, но он все равно попадает в начало страницы. –

ответ

2

Вы не указали type для своей кнопки, поэтому по умолчанию это кнопка отправки. И поведение по умолчанию для кнопки «Отправить» - это попытка отправить свою форму, которая заставляет перезагружать страницу. Добавьте следующий атрибут:

type="button" 

Тогда кнопка будет иметь действие не по умолчанию, и, таким образом, будет делать только то, что вы задаете с помощью JavaScript.

+0

Или не нажимайте кнопку внутри '

'. – Barmar

+0

@ Бармар - правда. Хотя мне нравится включать тип в любом случае просто для того, чтобы быть тщательным (или, если я позже добавлю форму). Если кнопка OP не в форме, тогда мой ответ неверен о причине их проблемы. – nnnnnn

Смежные вопросы