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>