2013-07-17 2 views
0

так у меня есть набор формы с «выберите» и вариантами кратных следующим образом:

<form> 

<select name="box1"> 
    <option value="1">1</option> 
    <option value="2">2 </option> 
    <option value="3">3</option>   
</select> 

<select name="box2"> 
    <option value="a">a</option> 
    <option value="b">b </option> 
    <option value="c">c</option>   
</select> 

<input type="submit"> 
</form> 

и я хочу retrive ссылки, которая, как правило, быть сделана когда вы нажимаете кнопку отправки, но не обновляете браузер, поэтому я могу позволить пользователям скопировать эту ссылку и отправить ее другим людям, чтобы они могли видеть, какие параметры они выбрали.

i asume это было бы возможно в javascript, но я не уверен, как и я мог бы найти какие-либо результаты в google.

+0

Этот вопрос полезен для вас? http://stackoverflow.com/questions/824349/modify-the-url-without-reloading-the-page – George

+0

вы можете получить доступ к одному значению формы через jquery '$ ('select [name = box1]'). val (); http://api.jquery.com/val/ – steven

+0

@ F4r-20 его вид полезного, но он действительно объясняет, как извлечь ссылку, которую он создает, когда вы нажимаете submit, по крайней мере, насколько я могу сказать – lizart

ответ

2

Я создал скрипку здесь: http://jsfiddle.net/wgtVC/1

Я использую JQuery и функцию serialize() для форм. Это создаст часть запроса с URL-адресом.

Затем вы можете использовать это, чтобы добавить URL-адрес, на который должна быть отправлена ​​форма.

Вот код из приведенной выше ссылке:

$('form').submit(function(){ 
    // get the serialized form 
    alert($(this).serialize()); // "box1=1&box2=a" 

    // append to a string which is the link the form posts to 
    link = "http://link.to/my/website"; 
    alert(link+"?"+$(this).serialize()); // "http://link.to/my/website?box1=1&box2=a" 

    return false; 
}); 
+0

спасибо вы, это именно то, что им нужно. – lizart

+0

Хороший материал :) Добро пожаловать. –

0

В JQuery есть функция сериализации, которая позволит вам сделать это. Вы можете попробовать этот код, если хотите:

$('form').click(function() { 
    parameter = $(this).serialize() 
    alert(window.location.pathname + parameter) 
}) 
Смежные вопросы