Как получить значения элементов формы в JavaScript и создать URL-адрес со значениями thoese - PullRequest
2 голосов
/ 27 сентября 2011

Например, у меня есть форма:

<form name='myform' id='myformid'>

  <input type='text' name='name' id='name'>
  <input type='text' name='color' id='color'>
  <input type='text' name='made' id='made'>

  <input type='submit' name='submit'>

</form>

Теперь я хочу вызвать функцию javascript для отправки формы выше. Эта функция получит все значения элементов формы и создаст URL для перенаправления.

Например:

example.com/search.php?name=toyota&color=white&made=abc

Как я могу создать эту функцию JS?

Спасибо

Ответы [ 4 ]

3 голосов
/ 27 сентября 2011
function getValues(){
  var form = document.getElementById('myformid');
  var url  = 'example.com/search.php?';

  for(var i=0; i<form.elements.length; i++) {
     var element = form.elements[i];
     //url += (i>0 ? '&' : '') + element.name + '=' + element.value;
     //UPDATE
     url += (i>0 ? '&' : '') + encodeURIComponent(element.name) + '=' + encodeURIComponent(element.value);
  }
  return url;
}
1 голос
/ 27 сентября 2011

Я знаю, что вам нужна функция javascript , , но , возможно, лучше, если вы хотите отправить запрос после отправки:

<form name='myform' action='search.php' method='get'>
  <input type='text' name='name' />
  <input type='text' name='color' />
  <input type='text' name='made' />
  <input type='submit' />
</form>
1 голос
/ 27 сентября 2011

С библиотекой MochiKit вы можете использовать:

http://mochi.github.com/mochikit/doc/html/MochiKit/DOM.html#fn-formcontents

Источник здесь:

https://github.com/mochi/mochikit/blob/master/MochiKit/DOM.js#L45

Это вместе с функцией querystring из той же библиотеки:

http://mochi.github.com/mochikit/doc/html/MochiKit/Base.html#fn-querystring

https://github.com/mochi/mochikit/blob/master/MochiKit/Base.js#L1184

И у вас может быть простое решение:

window.location.href = 'example.com/search.php?' + queryString(formContents(getElement('myformid')))
0 голосов
/ 27 сентября 2011
<script>

function myFunction() {
    var name=document.myform.name.value;
    var color=document.myform.color.value;
    var made=document.myform.made.value;

    alert('example.com/search.php?name='+name+'&color='+color+'&made='+made);

}

</script>

<form name='myform' id='myformid' onSubmit='javascript:myFunction()'>

  <input type='text' name='name' id='name'>
  <input type='text' name='color' id='color'>
  <input type='text' name='made' id='made'>

  <input type='submit' name='submit'>

</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...