]]>
]]>
Рейтинг@Mail.ru

Передача данных методом POST с помощью Javascript

Материал из Веб программирование.

Перейти к: навигация, поиск

Если вы ищите способ передачи параметров от одной страницы к другой можно использовать сессии, использовать Cookie, передавать параматры из формы, но так же есть и другие способы, о одном из них пойдет речь в этой статье.


Пример 1:

Но иногда три первых способа кажуться сложные для такой маленькой задачи и кажется трудоемки, когда например нам нужно по ссылке "Вперед" передать параметры "param1=value1&param2=value2" в форму которая использует метод POST, для того чтобы поля автоматически заполнились.

Для этого можно прибегнуть к помощи JavaScript, когда будем передавать параметра из JavaScript методом POST.

function toPost(getString) 
{
 var parms = getString.split('?'); 
 var newF = document.createElement("form"); 
 newF.action = parms[0]; 
 newF.method = 'POST'; 
 var parms = parms[1].split('&'); 
 for (var i=0; i<parms.length; i++) 
 {
  var pos = parms[i].indexOf('='); 
  if (pos > 0) 
  {
   var key = parms[i].substring(0,pos); 
   var val = parms[i].substring(pos+1); 
   /*@cc_on @if (@_jscript)  
   var newH = document.createElement("<input name='"+key+"'>");  
   @else */  
   var newH = document.createElement("input"); 
   newH.name = key; /* @end @*/ 
   newH.type = 'hidden'; 
   newH.value = val; 
   newF.appendChild(newH);
  }
 } 
 document.getElementsByTagName('body')[0].appendChild(newF); 
 newF.submit();
}

Таким образом теперь по ссылке можем передать параметры в форму которая находиться в index.html:

Перейти


Пример 2:

Еще бывают такие задачи когда нам нужно из поля input взять значение и передать по ссылку в другую форму, для такого случая мы немного модифицировали функцию:

function toPost(getString) 
{
 var parms = getString.split('?'); 
 var newF = document.createElement("form"); 
 newF.action = parms[0]; 
 newF.method = 'POST'; 
 var newH = document.createElement("input"); 
 newH.name = 'fullname';
 newH.type = 'hidden'; 
 newH.value = 'Харис Пупкин'; //можем расширить возможности и брать значение с поля input, например document.getElementById('id').value 
 newF.appendChild(newH);
 document.getElementsByTagName('body')[0].appendChild(newF); 
 newF.submit();
}

Таким образом теперь по ссылке перейдя:

Перейти

Мы передадим методом POST на страницу index.html параметры значение fullname='Харис Пупкин'.

]]>
Google+
]]>
Личные инструменты
Хочешь еще цитату? xxx: Солдатам, пока горит спичка, надо раздеться и лечь, а с утра, пока горит спичка, одеться и заправить кровать.
xxx: У IT-шников, пока вырубается комп, раздеться и лечь, а пока он врубается, одеться и сесть за комп) в одном из чатов
веб-программирование
Просмотры
чтим

Deprecated: Function set_magic_quotes_runtime() is deprecated in /var/www/webproger/data/www/webproger.ru/1c6a72389c0fd92079ac7ae7cd356173/sape.php on line 218 Deprecated: Function set_magic_quotes_runtime() is deprecated in /var/www/webproger/data/www/webproger.ru/1c6a72389c0fd92079ac7ae7cd356173/sape.php on line 224

]]>
Rambler's Top100
]]>
]]>
]]>