2009-04-24 9 views
2

私はフォーム、テキスト入力、送信ボタンを持っています。どのように私は& txtSessionIdhtmlフォームに追加するテキストの値を

すなわち

アクション=「https://www.mywebsite.com/」フォームアクションにテキストボックスの値を追加するか、フォームは次のようになります。

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

リンクは次のようになります。https://www.mywebsite.com/123456

ここで、123456はユーザーがテキストボックスに入力します。

は、あなたがそれ(あるいはその両方)を行うにはjavascriptや何かのサーバー側を使用するか必要があるだろうあなた

答えて

2

ありがとうございます。

Javascriptを:

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

サーバー側(PHP)

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

ありがとう、私は(drupalブロック内で)javascriptメソッドを使用し、それは完全に働いた。 – Belliez

0

私はあなたがこのようなURLを受け入れている場合は、サーバー上のmod - 書き換えのようなものを使用していると仮定。ですから、txtSessionIdが設定されているかどうかを確認するルールを書いて、それをあなたが望むものに書き直すのはなぜですか?

私はmod-rewriteルールをどのように書くのかよく分かりませんが、私はあなたがそれを行うことができることは間違いありません。

PHPを使用している場合、Gregはmod-rewrite(または類似のもの)を使用することに相当な選択肢を提示しました。

1

正しい動作は、入力フィールドを既存のフォームに送信して処理し、リダイレクトすることです。ユーザーがまだ有効な入力値を送信したかどうかはわかりません。

アクセシビリティが厳しい要件でない限り、この場合は常にjavascriptをおすすめします。

関連する問題