dポイントプレゼントキャンペーン実施中!

<form name="ok">
<input type="text" size="20" name="pass"><input type="button" value="検索" onclick="location.href='http://*アドレス*/'+document.ok.pass.value+'.html';">
</form>

このフォームをつかってパスワード認証を使っているのですが、マウスをつかって「ok」ボタンをクリックしたときは正常に動作するにもかかわらず、入力後エンターで認証しようとすると、アドレスに”http://*アドレス*/?pass=入力した内容”と表示されてページに飛ぶことができません。都合上エンターでも正常に動作するように改善したいのですが、どのようにしたらいいでしょうか?

ご存知の方、教えてください。よろしくお願いします。

A 回答 (4件)

#3のお礼欄に書いていただいたソースをコピーしてテストしましたが、やはり問題なしでした。



出ているエラーはjavascriptのものですね。
考えられることとして、同じHTML上に同じ名前のフォームは存在してないでしょうか?
例えば#3のソースの後ろに、
<form name="ok"></form>
と書き足すだけで同じエラーが発生します。

今までトライ&エラーで色々やってきたので、#1さんや#2のソースがそのまま同一HTML上に残っているような気がするんですが、それだとエラーになります。
一度、新規HTMLを作成し、#3のソースのみをコピーして試してみてください。
    • good
    • 0
この回答へのお礼

試行錯誤を繰り返してようやく原因がわかりました。同じHTML上にはいくら探しても同じ名前のフォームはなかったのですが、オフラインでやってうまくいくのにオンラインでいかないのはどういうことかと思ったところ、SSIを使って呼び出していた別のHTMLで同じ名前のフォームを使っていました。;

名前を別の名前に変更して、無事解決しました。度々ありがとうございました。

お礼日時:2005/04/19 00:10

#2です。


できなかったということなので、もう一度私の環境(IE6.0)で実験してみましたが、「aaa」という文字でEnterまたはボタンを押すと、http://*アドレス*/aaa.htmlに移動できましたよ。
もう一度、#2のコードの<form>~</form>を全てコピーして試してみてください。
<form>のactionがonSubmitになっていると、pass=***となってしまいます。
    • good
    • 0
この回答へのお礼

まっさらに直して再びコピーアンドペーストしてみましたが、やはりダメでした。環境はIE6.0です。javascriptのエラーでしょうか、「'document.ok.pass.value'はNULLまたはオブジェクトではありません」と表示されてしまいます。;

検索のためのテキストボックスの前後はこんなふうにテーブルで囲んであるのですが、何か関係はあるのでしょうか?

<table border="0" cellpadding="0" cellspacing="0" width="160">
<tr>
<td>
<form name="ok" action="javascript:location.href='http://*アドレス*/'+document.ok.pass.value+'.html'; ">
<input type="text" size="20" name="pass">
<input type="submit" value="検索">
</form>
</td>
</tr>
</table>

お礼日時:2005/04/15 22:13

<form name="ok" action="javascript:location.href='

http://*アドレス*/'+document.ok.pass.value+'.html'; ">
<input type="text" size="20" name="pass">
<input type="submit" value="検索">
</form>

-----------------
これでどうでしょうか?
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
こちらもやってみたのですが、エンターキー同様マウスでも作動しなくなってしまいました。(^^;
?pass=***の表示になってしまいます。;

お礼日時:2005/04/14 23:56

こんばんわぁ、Blackwinglsです。



form を使っているので、onSubmit されたら、 POST か GET されちゃうんでしょうね。
あまりカッコとくないですが、

<form name="ok" onSubmit="location.href='http://*アドレス*/'+document.ok.pass.value+'.html';">

とされてみては如何ですか?

ではでは~☆ミ
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
早速やってみたのですが、どういう風にそのタグをつかっていいのかよくわかりませんでした。(^^;
そのまま貼り付けても何も表示されませんし、前のタグのonclickをonSubmitに変えても何も起きませんでした。この場合だとテキストボックスはどこへいってしまうのでしょう??

お礼日時:2005/04/14 23:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!