Использование Javascript для передачи параметра из URL в скрытое поле формы - PullRequest
2 голосов
/ 24 ноября 2011

Мне не удалось передать и идентификатор, такой как '123456', с URL-адреса:

http://www.mysite.com/page.html?ID=123456

в скрытое поле формы.

Я нашелJavascript, который позволяет мне записать идентификатор на страницу, но я не знаю, как добавить значение в бит value = "" скрытого поля ввода.

Любые идеи высоко ценятся!

Я использую JS:

<script> 
function getQueryVariable(variable) { 
  var query = window.location.search.substring(1); 
  var vars = query.split("&"); 
  for (var i=0;i<vars.length;i++) { 
    var pair = vars[i].split("="); 
    if (pair[0] == variable) { 
      return pair[1]; 
    }
  } 
  alert('Query Variable ' + variable + ' not found'); 
}   
</script>

Ответы [ 3 ]

1 голос
/ 24 ноября 2011
window.location.search

... выдаст вам строку запроса в вашем URL

Так что в этом случае он вернет "? ID = 123456".

Что-нибудь еще или этого достаточно для продолжения?

1 голос
/ 24 ноября 2011

Если у вас уже есть значение, вы можете сделать это с помощью jQuery:

 $('#your-input-field').val(the_value);

 <input type="hidden" id="your-input-field" />

без jQuery вы бы сделали так:

 e = document.getElementById('your-input-field');
 e.value = the_value;

Вот пример использования вашего кода, я рекомендую вам взглянуть на jQuery - его гораздо проще использовать, чем обычный javascript, и ваш код будет работать во всех браузерах:

  <script type="text/javascript">
  function getQueryVariable(variable) { 
     var query = window.location.search.substring(1); 
     var vars = query.split("&"); 
     for (var i=0;i<vars.length;i++) { 
     var pair = vars[i].split("="); 
     if (pair[0] == variable) { 
       return pair[1]; 
     }
   } 
 }
 function onLoad() {
    var value = getQueryVariable("ID");
    var e = document.getElementById('your-field');
    e.value = value;
 }
 </script>
 <body onload="onLoad()">
     <!-- your form and hidden field goes here -->
     <input type="hidden" name="your-field" id="your-field" />
0 голосов
/ 24 ноября 2011

Эта ссылка, использующая jQUery, может помочь вам url-parameters . Если у вас есть значение, которое вы можете сделать:

$('#input-id').val($.getUrlVar('url-parameter'));
...