Как запретить кнопкам отправлять формы

Oracle (MySQL) теперь поддерживает чистый коннектор Python. Это означает, что нет двоичных файлов для установки: это просто библиотека Python. Он называется «Connector / Python».

http://dev.mysql.com/downloads/connector/python/

804
задан Nadia Alramli 31 May 2009 в 19:19
поделиться

6 ответов

Просто добавьте e.preventDefault(); в Вашем методе, должен препятствовать тому, чтобы Ваша страница отправила формы.

function myFunc(e){
       e.preventDefault();
}

Согласно веб-Документы MDN

preventDefault () метод интерфейса Event говорит агенту пользователя, что, если бы событие явно не обрабатывается, его действие по умолчанию не должно быть принято во внимание, как это обычно было бы. Событие продолжает распространять, как обычно, если один из его вызовов слушателей stopPropagation () или stopImmediatePropagation (), любой из которых завершает распространение.

1
ответ дан 22 November 2019 в 21:09
поделиться

Я не могу сейчас это проверить, но думаю, вы могли бы использовать метод jQuery preventDefault .

0
ответ дан 22 November 2019 в 21:09
поделиться

Я уверен, что на FF функция

removeItem 

обнаруживает ошибку JavaScript, этого не произошло в IE

. Когда появляется ошибка javascript, код «return false» не запускается, и страница отправляется на обратную передачу

7
ответ дан 22 November 2019 в 21:09
поделиться

Функция removeItem на самом деле содержит ошибку, которая заставляет кнопку формы действовать по умолчанию (отправка формы ). В этом случае консоль ошибок javascript обычно выдает указатель.

Проверьте функцию removeItem в части javascript:

Строка:

rows[rows.length-1].html('');

не работает. Попробуйте вместо этого:

rows.eq(rows.length-1).html('');
0
ответ дан 22 November 2019 в 21:09
поделиться

I agree with Shog9, though I might instead use:

<input type = "button" onClick="addItem(); return false;" value="Add Item" />

According to w3schools, the

27
ответ дан 22 November 2019 в 21:09
поделиться

Задайте тип для ваших кнопок:

<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>

Этот метод хранит всю вашу логику в одном месте, что упрощает отладку ...

590
ответ дан 22 November 2019 в 21:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: