2016-08-15 2 views
0

Допустим, у меня есть форма, что я отправляю через GET:Отправить форму через GET и сохранить уже существующие параметры GET

<form method="get" action="/search.php?foo=bar&test=1&something=else"> 
    <input type="text" name="day" placeholder="day"/> 
    <input type="text" name="link" placeholder="link"/> 
</form> 

И после подачи моей формы и обработки данных (который состоит только сохранить его к файл), URL-адрес меняется на:

search.php день = тест & ссылка = google.com

Что я должен сделать так гиперссылка стать s:

/search.php?foo=bar & тест = 1 & что-то еще = & день = тест & ссылка = google.com

(сохранение старых параметров, которые были включены в action атрибут.)

ответ

0

Действие формы будет меняться каждый раз, и трудно сохранить старые параметры GET в действии формы.

Однако вы можете пойти со скрытыми полями.

Попробуйте это:

<form method="get" action="/search.php"> 
    <input type="hidden" name="foo" value="bar"/>  <!-- Add this --> 
    <input type="hidden" name="test" value="1"/>  <!-- Add this --> 
    <input type="text" name="day" placeholder="day"/> 
    <input type="text" name="link" placeholder="link"/> 
</form> 
0

Вы могли бы попытаться использовать скрытое поле ввода.

<input type="hidden" name="name" value="value">

0

если вы получаете ваши переменные первой из получить, а затем нужно добавить в 2 формы вы можете получить это и создавать поля ввода, скрытые с этим получить значения

Теперь, когда вы отправляете форму в получить URL, вы получите все, что вы желаете данные

<?php 
if($_GET){ 
    if(isset($_GET['submit1'])){ 
     $foo = $_GET['foo']; 
     $test = $_GET['test']; 
     $something = $_GET['something']; 
?> 
     <form method="get" action="/search.php"> 
      <input type="hidden" name="foo" placeholder="foo" value="<?php echo $foo; ?>"/> 
      <input type="hidden" name="test" placeholder="test" value="<?php echo $test; ?>"/> 
      <input type="hidden" name="something" placeholder="something" value="<?php echo $something; ?>"/> 
      <input type="text" name="day" placeholder="day"/> 
      <input type="text" name="link" placeholder="link"/> 
     </form> 
<?php 

    } 
} 

?> 
0

вы можете попробовать изменить действие перед представлением, в зависимости, как вы собираетесь отправить форму. Это можно сделать, если вы применяете идентификаторы к своим текстам и либо имя, либо идентификатор формы.

HTML:

<form id="frm" method="get" action="/search.php?foo=bar&test=1&something=else"> 

    <input type="text" name="day" id="day" placeholder="day"/> 
    <input type="text" name="link" id="link" placeholder="link"/> 
</form> 

Затем с JavaScript вы можете запустить функцию и изменить действие форме в:

var _form = document.getElementById('frm'); 
var day = document.getElementById('day').value; 
var link = document.getElementById('link').value; 

_form.action += '&day=' + day + '&link=' + link; 
_form.submit(); 
Смежные вопросы