it-swarm.com.de

HTML-Formulare - Eingabetyp Senden Problem mit action = URL, wenn URL index.aspx enthält

Ich habe ein HTML-Formular, das den Aktionsparameter nach dem "?" Abschneidet. mark - das ist NICHT das gewünschte Verhalten, das ich suche.

Hier ist ein repräsentatives HTML-Snippet:

<form action="http://spufalcons.com/index.aspx?tab=gymnastics&path=gym">
    <input type="submit" value="SPU Gymnastics"/>
</form>

In diesem Fall gelangen Sie mit der Schaltfläche "Submit" zur Seite " http://www.spufalcons.com/index.aspx ", die effektiv ignoriert wird "? Tab = gymnastics & path = gym". Es scheint, dass alle HTML- und PHP - Seiten, auf die in der URL action = verwiesen wird, wie erwartet funktionieren. Dieses Verhalten ist in allen gängigen Browsern (IE, FF, Safari, Chrome, Opera) konsistent.

Hat jemand dieses Problem schon einmal gesehen? Oder kann eine Alternative und/oder Problemumgehung vorgeschlagen werden, die meinem reinen CSS/HTML/PHP-Webentwicklungsansatz entspricht? Ich habe versucht, die Sonderzeichen ohne Auswirkung durch HTML-Entitätswerte zu ersetzen. Ich möchte nicht, dass ich meine CSS-übergebenen Übergabeschaltflächen mit Hilfe von Javascript oder der Schaltfläche PNGs oder Image-Maps verwende.

Umgebung:

  • Webserver: Apache 2.2.14
  • PHP: 5.2.10
  • Betriebssystem: Mac OS X 10.5.8
  • HTML-Dokumentinfo:
  • <!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 - Trent

16
Trent

Fügen Sie die Abfrageargumente in ausgeblendete Eingabefelder ein:

<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>
28
Gumbo

Verwenden Sie method = POST, dann werden Schlüssel und Wert übergeben.

4
kunal

Dies scheint meine "bevorzugte" Lösung zu sein:

<form action="www.spufalcons.com/index.aspx?tab=gymnastics&path=gym" method="post">  <div>
<input type="submit" value="Gymnastics"></div>

Entschuldigung für das Präsentationsformat - Ich versuche immer noch, wie man dieses Forum benutzt ...

Ich habe eine Folgefrage. Ein Blick auf meine MySQL-Datenbank mit URLs scheint, dass ~ 30% der URLs diesen Post/Div-Wrapper-Ansatz verwenden müssen. Damit verbleiben ~ 70%, die das Attribut "post" nicht akzeptieren können. Zum Beispiel:

<form action="http://www.google.com" method="post">
  <div>
    <input type="submit" value="Google"/>
  </div></form>

funktioniert nicht. Haben Sie eine Empfehlung, wie Sie diesen Get/Post-Bedingungstest am besten behandeln können? Ich schätze, dass ich mit PHP die Existenz des "?" Das Zeichen in der URL ist möglicherweise mein bester Ansatz, obwohl ich nicht sicher bin, wie ich das HTML-Formular strukturieren muss, um dies zu erreichen.

Danke dir!

1
Trent

Ich habe das CSS-Styling auf ein verankertes HREF-Attribut angewendet, das die von Push benötigten Tastenfunktionen vollständig simuliert (Hover, Aktiv, Hintergrundfarbe usw.). HTML-Markup ist viel einfacher. A-n-d eliminiert die Komplexität von Get/Post, die mit einem formularbasierten Ansatz verbunden ist.

<a class="GYM" href="http://www.spufalcons.com/index.aspx?tab=gymnastics&path=gym">Gymnastics</a>
0
Trent