HTML-формы - проблема ввода типа отправки с действием = URL-адрес, когда URL-адрес содержит index.aspx
У меня есть HTML-форма, которая усекает параметр действия после "?" mark - который НЕ является желаемым поведением, которое я ищу.
Вот репрезентативный фрагмент HTML:
<form action="http://spufalcons.com/index.aspx?tab=gymnastics&path=gym">
<input type="submit" value="SPU Gymnastics"/>
</form>
В этом случае кнопка submit приведет вас к странице http://www.spufalcons.com/index.aspx, фактически игнорируя "? tab = gymnastics & path = тренажерный зал". Похоже, что все страницы HTML и PHP, на которые ссылаются в action = URL, работают, как и ожидалось. Это поведение совместимо во всех основных браузерах (IE, FF, Safari, Chrome, Opera).
Кто-нибудь видел эту проблему раньше? Или можете предложить альтернативный и/или обходной путь, совместимый с моим "чистым" подходом к веб-разработке CSS/HTML/PHP? Я попытался заменить специальные символы значениями сущности HTML без каких-либо воздействий. Я ДЕЙСТВИТЕЛЬНО не хочу отказаться от своих кнопок отправки в стиле CSS с помощью Javascript или кнопки PNG или изображений.
Окружающая среда:
- Веб-сервер: Apache 2.2.14
- PHP: 5.2.10
- ОС: Mac OS X 10.5.8
- Информация о документе HTML:
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
TIA -
Трент
Ответы
Ответ 1
Поместите аргументы запроса в скрытые поля ввода:
<form action="http://spufalcons.com/index.aspx">
<input type="hidden" name="tab" value="gymnastics" />
<input type="hidden" name="path" value="gym" />
<input type="submit" value="SPU Gymnastics"/>
</form>
Ответ 2
Использовать метод = POST, после чего он будет передавать значение ключа &.
Ответ 3
Это кажется моим "предпочтительным" решением:
<form action="www.spufalcons.com/index.aspx?tab=gymnastics&path=gym" method="post"> <div>
<input type="submit" value="Gymnastics"></div>
Извините за формат презентации - я все еще пытаюсь научиться пользоваться этим форумом....
У меня есть следующий вопрос. При просмотре моей базы данных MySQL по URL-адресу кажется, что ~ 30% URL-адреса нужно будет использовать для этого метода post/div. Это оставляет ~ 70%, что не может принять атрибут post. Например:
<form action="http://www.google.com" method="post">
<div>
<input type="submit" value="Google"/>
</div></form>
не работает. Есть ли у вас рекомендация о том, как лучше всего справиться с этим тестом теста на получение/сообщение. С моей точки зрения, я предполагаю, что используя PHP для оценки существования "?" символ в URL-адресе может быть моим лучшим подходом, хотя я не уверен, как структурировать HTML-форму для выполнения этого.
Спасибо!
Ответ 4
Я применил стили CSS для привязанного атрибута HREF, полностью эмулирующего поведение кнопки, которое мне нужно (зависание, активный, фоновый цвет и т.д. и т.д.). HTML-разметка намного проще a-n-d устраняет сложность get/post, связанную с использованием основанного на форме подхода.
<a class="GYM" href="#" onclick="location.href='http://www.spufalcons.com/index.aspx?tab=gymnastics&path=gym'; return false;">Gymnastics</a>