Безопасно ли использовать якорь для отправки формы? - PullRequest
30 голосов
/ 02 ноября 2011

Я где-то читал, что использование тега привязки для отправки формы не очень безопасно, так что это мой вопрос: безопасно ли использовать тег привязки вместо <button> или <input type="submit" /> для отправки формы? И если это не так, почему ? Проблема в том, что у меня есть класс CSS для кнопки, который показывает, что я хочу на <a class="button">, но если я добавлю его к реальной кнопке, он добавляет странную границу, которую я не хочу.

Спасибо

Ответы [ 3 ]

58 голосов
/ 02 ноября 2011

Чтобы использовать привязку для отправки формы, потребуется использовать JavaScript для подключения событий.Это небезопасно, если у пользователя отключен JavaScript, вы не сможете отправить форму.Например:

<form id="form1" action="" method="post">
    <a href="#" onclick="document.getElementById('form1').submit();">Submit!</a>
</form>

Если вы хотите, вы можете использовать <button>:

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

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

<input type="submit" value="Submit!" />

Вы можете стилизовать все три из них, но последние два не требуют JavaScript.Возможно, вам просто нужно где-то изменить CSS, если у вас проблемы с границами.

2 голосов
/ 18 сентября 2014
<!-- add the anchor token at the end of your action statement -->

<form method='post' action='this_page.php?put_peram=token#anchor_name'>
<input type='submit' value='click here'>

<!-- put the anchor right above where you want the page to  index -->

<a name="anchor_name></a>
1 голос
/ 19 июня 2017

Старайтесь избегать JavaScript для действия.Используйте кнопку всегда отправить.Некоторые пользователи могут отключить JavaScript в целях безопасности.

Несмотря на то, что вы хотите использовать javascript для отправки значения, добавьте строку ниже, прежде чем писать тег <html>.

<!-- saved from url=(0014)about:internet--> <html>

...