2015-01-23 3 views
0

Я новичок в JS, и у меня очень простой вопрос. Я хочу отправить форму с помощью кнопки, расположенной , за пределами.Отправка формы с помощью кнопки JS/JQuery

заголовок

форма выглядит следующим образом:

<form action="http://www.google.com" method="get" id="myform"> 

Кнопка выглядит следующим образом:

<input type="button" value="Click Me" id="send"> 

Файл JS является:

document.getElementById("send").onclick = function() { 
    document.getElementById("myform").submit(); 
}; 

И это не работает. Когда я нажимал кнопку, ничего не происходит. Любая идея? JQuery также будет хорош для меня вместо vanilla JS.

Цените свою помощь.

Thanks

+5

Что вы должны работать нормально, хотя почему бы просто не использовать регулярную кнопку 'input type =" submit '' в 'form'? –

+0

Надеюсь, вы не указали свой код javascript о HTML. в этом случае он не будет связывать обработчик кликов. –

+0

Я пишу его снаружи с расширением JS. Я не могу использовать обычную кнопку отправки, потому что сама кнопка расположена вне формы (и даже в другом элементе div). – user3355028

ответ

0

Предпочитаю использовать JQuery для отправки формы.

Есть другие сообщения в stackoverflow, посвященные теме отправки формы с использованием JQuery. Вы можете проверить это Submit form using jquery

Если я могу добавить что-то, что может пригодиться, если у вас есть валидаторы в форме, например, для обязательных полей. Вы можете добавить чек перед отправкой формы, чтобы узнать, действительно ли все поля. Ваша кнопка метод кликов может выглядеть примерно так:

function SubmitButtonClick(){ 
    var form = $('#myForm'); 
    form.validate(); 
    if(!form.valid()) 
     return false; 
    else 
     form.submit(); 
}) 

Очевидно, что вы просто должны помнить, чтобы добавить метод OnClick данной кнопки так:

<input type="button" value="Click Me" id="send" onclick="SubmitButtonClick()" /> 
+0

спасибо !! Ваш ответ решает это. Я забыл добавить onclick = "SubmitButtonClick()" внутри входного атрибута. – user3355028

+0

Без проблем, рад я мог бы помочь :) – Shadowind

0

Вы можете попробовать приобрести идентификатор формы. И вы называете это от того, кого хотите.

Try:

$(".button").click(function() { 
    $('#myform').submit(); 
}); 
+0

Спасибо, я уже пробовал это без успеха:/ У меня есть другая функция JS для других целей (которая отлично работает) над этим кодом. Может быть, это вызывает проблему? – user3355028

+0

Конечно, это может повлиять на сумму формы. Если у вас две формы с кнопками отправки на одной странице, у вас могут возникнуть проблемы. Попробуйте и переместите код выше или в заголовке только для отладки. Код должен работать. – Leonidas

0

попробовать это:

window.onload = function(){ 
document.getElementById("send").onclick = function() { 
    document.getElementById("myform").submit(); 
};} 

или

document.getElementById("send").onclick = function() { 
document.getElementById("myform").submit();} 

после

<input type="button" value="Click Me" id="send"> 
1

<script type="text/javascript"> 
 
$(document).ready(function(){ \t \t \t 
 
\t $("#send").on("click",function() { 
 
\t \t $('#myform').submit(); 
 
\t \t }); 
 
\t  }); 
 
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

надежда это поможет вам. После того, как вы покажете страницу google при нажатии кнопки.

+1

Пожалуйста, добавьте некоторое объяснение в свой ответ. –

+0

По крайней мере, объясните, что для этого кода потребуется добавить библиотеку JQuery !!! Возможно, было бы лучше придерживаться базового javascript, так как это то, что использует этот вопрос. – RiggsFolly

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