Сопоставить значения формы со ссылкой

У меня есть определенная форма на моей странице с несколькими входными значениями и кнопкой. Пример:

<form id="myForm" method="get">
<input type="text" id="blah1" value="blah" />
<input type="hidden" id="blah2" value="blah2" />
</form>
<button type="button" id="awesomeButton">Click for Link</button>
<div id="link">http://mysite.com/?blah1=blah&blah2=blah2</div>

Я хочу найти простой способ сделать так, чтобы когда кто-то нажимал кнопку на моем веб-сайте, он просматривал все значения формы и генерировал ссылку, которая точно такая же, как если бы форма была настроена на использование method="get" и Отправлено. Поэтому, если они нажмут «awesomeButton», он сгенерирует ссылку и покажет ее человеку, например http://mysite.com/?blah1=blah&blah2=blah2

Кто-нибудь знает простой способ получить значения из формы и сделать ссылку?

Что-то типа...

$('button#awesomeButton').click(function()
{
//Grab all form elements, maybe something like var blah = $('#myForm :input'); ??
var link = ???;//Generate a link somehow
$('div#link').html(link);
});

Спасибо


person TheFrack    schedule 19.11.2012    source источник


Ответы (2)


Самый простой способ — использовать библиотеку, например jQuery или dojo, которая сделает всю работу за вас. В jQuery, например:

$("#myForm").serialize();

Документация находится здесь.

В додзё:

dijit.byId('myForm').get('value');

Перейдите по этой ссылке для получения документации.

person Christophe    schedule 19.11.2012

Предполагая, что id являются name, вы хотите .serialize():

var link = "http://.../?" + $("#myForm").serialize();
person pimvdb    schedule 19.11.2012