2009-04-24 11 views
2

Ich habe ein Formular, eine Texteingabe und eine Absenden-Taste. Wie kann ich den Wert des Textfeld zum Formular Aktion dhhtml Textwert anhängen, um Aktion zu bilden

action = "https://www.mywebsite.com/" & txtSessionId anhängen

Das Formular sieht wie folgt aus:

<form name="form1" method="post" action="https://www.mywebsite.com/"> 
    <label>Your Sessions ID: 
    <input type="text" name="txtSessionId" id="txtSessionId"> 
    </label> 
    <label> 
<input type="submit" name="btnContinue" id="btnContinue" value="Continue"> 
</label> 
</form> 

Ich möchte, dass der Link so aussieht: https://www.mywebsite.com/123456

wo 123456 in das Textfeld vom Benutzer eingegeben wird.

Danke

Antwort

2

Sie würden JavaScript oder etwas Server-Seite zu tun haben, dass entweder (oder beides) zu verwenden.

Javascript:

<form name="form1" method="post" action="https://www.mywebsite.com/" 
    onsubmit="location.href = this.action + this.txtSessionId.value; return false;"> 

Server-Seite (PHP)

if (!empty($_POST['txtSessionId'])) 
{ 
    header('Location: https://.....' . (int)$_POST['txtSessionId']); 
    exit(); 
} 
+0

danke, ich habe die Javascript-Methode (in einem Drupal Block) und es hat perfekt funktioniert. – Belliez

0

Ich nehme an, Sie so etwas wie mod-Rewrite auf Ihrem Server verwenden, wenn Sie URLs wie diese akzeptieren . Also, warum nicht einfach eine Regel dort schreiben, um zu überprüfen, ob txtSessionId gesetzt ist und dann neu schreiben, was auch immer Sie möchten?

Ich weiß nicht, wie man Mod-Rewrite-Regeln so gut schreibt, aber, ich weiß definitiv, dass Sie es tun können.

Wenn Sie PHP verwenden, hat Greg eine ziemlich brauchbare Alternative zur Verwendung von Mod-Rewrite (oder etwas Ähnlichem).

1

Das richtige Verhalten besteht darin, das Eingabefeld an das vorhandene Formular zu senden, es zu verarbeiten und umzuleiten. Sie wissen nicht, ob der Benutzer noch einen gültigen Eingabewert gesendet hat!

In diesen Fällen empfehle ich immer Javascript, es sei denn Zugänglichkeit ist eine strenge Voraussetzung für Sie.

Verwandte Themen