Oracle (MySQL) теперь поддерживает чистый коннектор Python. Это означает, что нет двоичных файлов для установки: это просто библиотека Python. Он называется «Connector / Python».
Просто добавьте e.preventDefault();
в Вашем методе, должен препятствовать тому, чтобы Ваша страница отправила формы.
function myFunc(e){
e.preventDefault();
}
Согласно веб-Документы MDN
preventDefault () метод интерфейса Event говорит агенту пользователя, что, если бы событие явно не обрабатывается, его действие по умолчанию не должно быть принято во внимание, как это обычно было бы. Событие продолжает распространять, как обычно, если один из его вызовов слушателей
stopPropagation ()
илиstopImmediatePropagation ()
, любой из которых завершает распространение.
Я не могу сейчас это проверить, но думаю, вы могли бы использовать метод jQuery preventDefault .
Я уверен, что на FF функция
removeItem
обнаруживает ошибку JavaScript, этого не произошло в IE
. Когда появляется ошибка javascript, код «return false» не запускается, и страница отправляется на обратную передачу
Функция removeItem на самом деле содержит ошибку, которая заставляет кнопку формы действовать по умолчанию (отправка формы ). В этом случае консоль ошибок javascript обычно выдает указатель.
Проверьте функцию removeItem в части javascript:
Строка:
rows[rows.length-1].html('');
не работает. Попробуйте вместо этого:
rows.eq(rows.length-1).html('');
I agree with Shog9, though I might instead use:
<input type = "button" onClick="addItem(); return false;" value="Add Item" />
According to w3schools, the tag has different behavior on different browsers.
Задайте тип для ваших кнопок:
<button type="button" onclick="addItem(); return false;">Add Item</button>
<button type="button" onclick="removeItem(); return false;">Remove Last Item</button>
... который не позволит им запускать действие отправки при возникновении исключения в обработчике событий . Затем исправьте функцию removeItem ()
, чтобы она не вызывала исключение:
function removeItem() {
var rows = $('form tr');
if ( rows.length > 2 ) {
// change: work on filtered jQuery object
rows.filter(":last").html('');
$('form :hidden:last').val('');
} else {
alert('Cannot remove any more rows');
}
}
Обратите внимание на изменение: исходный код извлек элемент HTML из набора jQuery, а затем попытался вызвать jQuery метод на нем - это вызвало исключение, что привело к поведению кнопки по умолчанию.
FWIW, есть другой способ, которым вы можете воспользоваться с этим ... Подключите свои обработчики событий с помощью jQuery и используйте preventDefault ( ) для объекта jQuery event , чтобы заранее отменить поведение по умолчанию:
$(function() // execute once the DOM has loaded
{
// wire up Add Item button click event
$("#AddItem").click(function(event)
{
event.preventDefault(); // cancel default behavior
//... rest of add logic
});
// wire up Remove Last Item button click event
$("RemoveLastItem").click(function(event)
{
event.preventDefault(); // cancel default behavior
//... rest of remove last logic
});
});
...
<button type="button" id="AddItem" name="AddItem">Add Item</button>
<button type="button" id="RemoveLastItem" name="RemoveLastItem">Remove Last Item</button>
Этот метод хранит всю вашу логику в одном месте, что упрощает отладку ...