2016-06-02 4 views
0

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

<a href="javascript:document.getElementById('signup').submit();">Finished</a> 
+3

Возможно, вам стоит разместить свой HTML-код. –

+0

Как и на консоли ошибок. http://webmasters.stackexchange.com/questions/8525/how-to-open-the-javascript-console-in-different-browsers –

+1

Что именно привело к вашему решению использовать якорь вместо кнопки отправки формы? Вы все равно можете стилизовать кнопку, чтобы она выглядела как обычная ссылка, сохраняя естественную, интуитивно понятную и доступную функциональность. – Simon

ответ

1
  1. Во-первых, вы должны отделить Javascript из вашего HTML. Read More
  2. Вы должны разместить больше кода, например. HTML.

Вот рабочий пример, чтобы получить форму, чтобы отправить:

HTML:

<form id="signup"> 

</form> 

<a class="submit" href="#">Submit</a> 

Javascript

var form = document.querySelector('#signup'); 
var submitBtn = document.querySelector('a.submit'); 

submitBtn.addEventListener('click', function() { 
    form.submit(); 
}) 

https://jsfiddle.net/hpg6mnnr/

0

Я думаю, что вы можете добиться того, что вы ищете с этим

<a href="" onclick="signup.submit();">Finished</a> 
0

Вы могли бы попытаться достичь своей цели с помощью яваскрипта onclick обработчика событий. Позвольте мне объяснить вам с помощью примера, как показано ниже

<html> 
    <body> 
     <a href="google.com" id="link">Google</a> 
     <script> 
      function f1() { 
       alert("f1 called"); 
       //function f1()'s alert demonstrating additional functionality  
      } 
      window.onload = function() { 
       document.getElementById("link").onclick = function fun() { 
        alert("hello"); 
        f1(); 
        //executing an initial "hello" alert 
       } 
      } 
     </script> 
    </body> 
</html> 

Здесь мы создаем ссылку и дать ему идентификатор link. Предположим, нам нужно, чтобы он выполнял некоторые функции при нажатии. Все хорошо сейчас.

Теперь, после загрузки документа (как показано на примере window.onload), мы ждем, когда будет нажата ссылка. Если он щелкнут, мы выполняем событие onclick, которое дает предупреждение «Привет». Предположим, что вы хотели выполнить некоторые дополнительные функции с помощью щелчка по вашей ссылке (например, представление формы, как в вашем случае), поэтому мы демонстрируем ее здесь, используя метод f1(). Как вы могли видеть, мы выполняем все эти операции одновременно, используя обработчик события onclick.

0

Ну, у вас есть несколько способов сделать это!

Прежде всего проверьте, нет ли еще одного элемента HTML с тем же идентификатором, что и у вас, потому что, если он есть, у вас есть две проблемы: один из ваших HTML не хорошо отформатирован, во-вторых, он может быть определен первым, чем тег и Конечно, document.getElementById ('signup') поймает его во-первых. Кроме того, если страница не была загружена полным, он не найдет элемент, попробовать (см форму вниз ниже):

window.onload = function() { 
    var aBtn = document.getElementById('myA'); 
    aBtn.onclick = function() { 
     document.getElementById('submit').submit(); 
    } 
} 

Другой причину, но менее вероятен, ваши активные сценарии (javascript, например) могут быть отключены.

Проверьте его на всякий случай: Свойства обозревателя -> вкладка Безопасность -> Пользовательский уровень -> Сценарии -> Активные сценарии -> [Включить]

Я просто скопировал свой код и он работал на меня. .:

<form id="signup" action="http://google.com"> 
    <a href="javascript:document.getElementById('signup').submit();">go</a> 
</form> 

Вы также можете использовать OnClick = "document.getElementById ('Регистрация') представляет();". или пойти с кнопкой или ввода типа = «отправить»

т.д .:

<form id="signup" action="http://google.com"> 
    <a href="javascript:document.getElementById('signup').submit();">go</a> 
    <input type="submit" value="go2"> 
    <button>go3</button> 
</form> 

Ну, есть и другие способы сделать это, но я думаю, что те достаточно!

Смежные вопросы