Могу ли я использовать гиперссылки для отправки формы, в которой публикуются значения $ _GET, вместо создания гиперссылки со значениями $ _GET? - PullRequest
1 голос
/ 09 ноября 2011

Я использую много значений get на одной странице и создаю гиперссылку с добавлением? Var = value & ... каждый раз, когда это занимает много времени.Я хотел бы использовать гиперссылки в качестве кнопки отправки в форме, и html сразу прикрепит переменные к URL.

Обновление: я использовал этот метод, и теперь он работает нормально.

<a href="index.php?
<? foreach($_GET as $gk=>$gv)
{
echo $gk."=".$gv."&";
} 
?>
pager=
<? echo $i; ?>">
<? echo $i; ?>
</a>

Обновление 2: Создание URL-адресов - слишком большая работа, теперь я решил использовать скрытые поля в текущих формах иполучение значений по умолчанию для скрытых значений.Для сохранения полученных значений я не буду делать ссылку.Я выложу те же значения из формы get.это работает просто отлично.и мне нравится использовать стандартные формы, потому что стандартные вещи работают лучше всего.

Ответы [ 3 ]

2 голосов
/ 09 ноября 2011
<a href="javascript:document.formname.submit();">Submit</a>

отправит форму с атрибутом name = "formname". если метод method = "get", то все отправленные вами данные будут отправлены на ваш атрибут action = "url.php" с параметрами.

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

Вы можете создать функцию в php, которая записывает все переменные $ _GET для вас:

function WriteGetForHyperlink ( $array ) {
    $output = "?";
    foreach ( $array as $key=>$value ) {
        $output .= $key.'='.$value.'&';
    }
    return $output;
}

Тогда ваша HTML-ссылка может быть:

<a href='wherever.html<?= WriteGetForHyperlink( $_GET ) ?>'>Link</a>

Это позволит вамчтобы добавить дополнительные переменные get в конец ссылки, или вы можете передать пользовательские массивы (поэтому вместо всего $ _GET, может быть, только две или три его части), и вам не нужно использовать javascript или иметь многоHTML на странице, которая не нужна.

ИЛИ

Если вы настроены на использование формы, вы можете создать форму с кучей скрытых элементов:

<form method='GET' action='wherever.html'>
 <input type='hidden' name='var1' value='1' />
 <input type='hidden' name='var1' value='1' />
 <input type='submit' class='submit-link' value='Link' />
</form>

Вот немного CSS:

input.submit-link {
    border: none;
    background: Transparent;
    cursor: pointer;
    color: #00f
}
input.submit-link:hover {
    text-decoration: underline;
}
1 голос
/ 09 ноября 2011

у вас есть два варианта для достижения этой цели: во-первых, использовать стандартную кнопку

<input type="submit" />

, которую вы можете в последнее время стилизовать с помощью css, чтобы она выглядела как ссылка.или, если вы вынуждены использовать ссылку для выполнения этой задачи, вы можете указать на решение javascript.от простого способа, подобного

<a href="javascript:document.getElementById('myFormId').submit()" />

, до более сложного, который включает в себя фреймворк, такой как mootools или jquery

...