Могу ли я заставить <кнопку> не отправлять форму?

Да, я думаю, что это разрешимо: вместо того, чтобы думать о регулярных выражениях как подходящих строках, вы также можете думать о них как о генерации строк. То есть все строки, которые они будут соответствовать.

Пусть [R] - множество строк, порожденных регулярным выражением R. Тогда для регулярных выражений R и T мы можем попытаться сопоставить T с [R]. Это [R] соответствует T, если в [R] есть строка, которая соответствует T.

. Должно быть возможно разработать это в алгоритм, где [R] лениво строится по мере необходимости: где нормальный регулярный выражение будет пытаться сопоставить следующий символ с входной строкой, а затем перейти к следующему символу в строке, модифицированный алгоритм будет проверять, может ли FSM, соответствующий входному регулярному выражению, генерировать соответствующий символ в его текущем состоянии, а затем продвигается вперед к «всем следующим состояниям» одновременно.

461
задан alex 25 June 2012 в 11:29
поделиться

5 ответов

Значение по умолчанию для атрибута type элементов button "отправить". Установите для него значение type = "button" , чтобы создать кнопку, которая не отправляет форму.

<button type="button">Submit</button>

По словам стандарта HTML : «Ничего не делает».

1040
ответ дан 22 November 2019 в 22:50
поделиться

Да, можно заставить кнопку не отправить форму путем добавления атрибута типа кнопки значения: <button type="button"><button>

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

Просто используйте старый добрый HTML:

<input type="button" value="Submit" />

Оберните его как тему ссылки, если хотите:

<a href="http://somewhere.com"><input type="button" value="Submit" /></a>

Или, если вы решите, что хотите, чтобы javascript предоставлял некоторые другие функции:

<input type="button" value="Cancel" onclick="javascript: someFunctionThatCouldIncludeRedirect();"/>
17
ответ дан 22 November 2019 в 22:50
поделиться

Элемент кнопки по умолчанию имеет тип submit .

Вы можете заставить его ничего не делать, установив тип кнопки :

<button type="button">Cancel changes</button>
224
ответ дан 22 November 2019 в 22:50
поделиться

Честно говоря, мне нравятся другие ответы. Легко и не нужно углубляться в JS. Но я заметил, что вы спрашивали о jQuery. Итак, для полноты картины в jQuery, если вы вернете false с помощью обработчика .click (), это отменит действие виджета по умолчанию.

См. Здесь пример (и другие полезности). Вот и документация .

вкратце, с вашим примером кода сделайте следующее:

<script type="text/javascript">
    $('button[type!=submit]').click(function(){
        // code to cancel changes
        return false;
    });
</script>

<a href="index.html"><button>Cancel changes</button></a>
<button type="submit">Submit</button>

В качестве дополнительного преимущества вы можете избавиться от тега привязки и просто использовать кнопку.

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

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