тег как кнопка отправки? - PullRequest
       32

тег как кнопка отправки?

31 голосов
/ 08 сентября 2011

Привет. Я пытаюсь получить тег "a" в качестве кнопки отправки. Я нашел код где-то в сети. Но это не сработало.

<a href="#" onclick="this.form.submit()">Submit</a>

Есть ли какой-нибудь код для удовлетворения моих потребностей?

Ответы [ 6 ]

35 голосов
/ 08 сентября 2011

Дайте form и id, а затем:

document.getElementById("yourFormId").submit();

Лучшей практикой, вероятно, будет присвоение вашей ссылке id и избавление от нее.обработчик события:

document.getElementById("yourLinkId").onclick = function() {
    document.getElementById("yourFormId").submit();
}
27 голосов
/ 08 сентября 2011

Попробуйте этот код:

<form id="myform">
  <!-- form elements -->
  <a href="#" onclick="document.getElementById('myform').submit()">Submit</a>
</form>

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

<noscript>
  <input type="submit" value="Submit form!" />
</noscript>
11 голосов
/ 08 сентября 2011

Предположим, что форма является прямым родителем, который вы можете сделать:

<a href='#' onclick='this.parentNode.submit(); return false;'>submit</a>

Если нет, вы можете получить доступ через атрибут имени формы следующим образом:

<a href='#' onclick='document.forms["myform"].submit(); return false;'>submit</a>

Смотрите оба примера здесь:http://jsfiddle.net/WEZDC/1/

1 голос
/ 08 сентября 2011

Попробуйте что-то вроде ниже

 <a href="#" onclick="this.forms['formName'].submit()">Submit</a> 
0 голосов
/ 17 июня 2019

Это улучшение @ComFreek ans:

<form id="myform">
  <!-- form elements -->
  <a href="javascript:;" onclick="document.getElementById('myform').submit()">Submit</a>
</form>

Так что не будет запускать действие и перезагрузить вашу страницу. Особенно, если вы разрабатываете с фреймворком со SPA.

0 голосов
/ 07 декабря 2015

На мой взгляд, самый простой способ - это что-то вроде этого:

<?php>
echo '<a href="link.php?submit='.$value.'">Submit</a>';
</?>

внутри "link.php" вы можете запросить значение следующим образом:

$_REQUEST['submit']
...