#html #url #hyperlink #get #form-submit
#HTML #url #гиперссылка #получить #форма-отправить
Вопрос:
Я использую много значений get на одной странице и создаю гиперссылку с добавлением?var=valueamp; … каждый раз требуется время. Я хотел бы использовать гиперссылки в качестве кнопки отправки в форме, и html сразу прикрепил бы переменные к URL.
Обновление: Я использовал этот метод, и теперь он отлично работает.
<a href="index.php?
<? foreach($_GET as $gk=>$gv)
{
echo $gk."=".$gv."amp;";
}
?>
pager=
<? echo $i; ?>">
<? echo $i; ?>
</a>
Обновление 2:
Создание URL-адресов — это слишком большая работа, теперь я решил использовать скрытые поля в текущих формах и получать значения get по умолчанию для скрытых значений. Для сохранения значений get я не буду создавать ссылку. Я опубликую те же значения get из формы get. это работает просто отлично. и мне нравится использовать стандартные формы, потому что стандартные вещи работают лучше всего.
Комментарии:
1. Вы также можете использовать «обычные» кнопки отправки и оформить их с помощью css, чтобы они выглядели «как» ссылки.
Ответ №1:
<a href="javascript:document.formname.submit();">Submit</a>
она отправит форму с именем атрибута =»formname». если метод атрибута =»get», то все ваши отправленные данные будут отправлены в ваш атрибут action = «url.php «с параметрами.
Комментарии:
1. Хотя это работает без проблем, мне часто не нравится полагаться на Javascript для отправки ссылки, для которой не требуется использовать Javascript (просто чтобы мне, как разработчику, было проще читать / создавать).
Ответ №2:
Вы могли бы создать функцию в php, которая записывает все переменные $ _GET для вас:
function WriteGetForHyperlink ( $array ) {
$output = "?";
foreach ( $array as $key=>$value ) {
$output .= $key.'='.$value.'amp;';
}
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;
}
Ответ №3:
у вас есть два варианта для достижения этого: первый — использовать стандартный
<input type="submit" />
кнопка, которую вы можете недавно оформить с помощью css, чтобы она выглядела как ссылка.
или, если вы вынуждены использовать ссылку для выполнения этой задачи, вы можете указать на решение javascript. из простого способа, подобного
<a href="javascript:document.getElementById('myFormId').submit()" />
к более сложной, которая включает в себя фреймворк, такой как mootools или jquery