以下のような「index.html」というファイルで、

「submit」しても無反応という場合があるそうです(お客様談。私は未確認)。
※画面遷移せず、エラーも出ない。とにかくボタンを押しても何も起こらない。

原因は何が考えられるでしょうか?


◆ファイル名→
index.html

◆ファイルのソース(の一部)→
<form action="./form.cgi" method="post">

~中略

<div><input type="submit" value="確認画面へ進む &gt;&gt;" /></div>

</form>

◆補足
cgiはperlで記述

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/03/04 12:34:17
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:JULY No.1

回答回数966ベストアンサー獲得回数247

ポイント100pt

※画面遷移せず、エラーも出ない。とにかくボタンを押しても何も起こらない。

というのが本当なら(例えば、実際には submit による通信が発生して、「接続中」の状況が続いているんだけど、「画面、変わらないなぁ」と思って、エンドユーザが中止ボタンを押したために、結果としてエラーも出なければ、画面遷移も起こらない、というケースではない)、まず、

  1. 特定の PC で常に発生するのか?
  2. 特定の PC で時々発生するのか?
  3. クライアントを問わず、時々発生するのか?

といった事をまず確認しましょう。それによって、想定される事が全く違います。

例えば、1. の場合、特定の PC で発生するのであれば、障害が発生している PC で使っているブラウザが共通していないか、といった事を考えます。もし、特定のブラウザ、バージョンであれば、そのブラウザ、バージョン固有の問題、という事になります。

多少気になったのは、input タグの終わりが「/>」となっている点です。「/>」で終わるという事は、index.html が XHTML 形式としてブラウザに認識されていないと、正しい挙動にならない可能性があります。もし、そういった状態が発生しているのであれば、まず、ファイルの先頭に正しい XML 宣言や DOCTYPE の指定があるのか、といった事を確認する必要があります。
XHTML DTDの宣言

また、極端に古いブラウザであれば、そもそも XHTML 形式をサポートしていない、という事もあります。さすがに今時のブラウザで XHTML を解釈できないブラウザは無いので、もしそんな古いブラウザを使っているのであれば、正直、「サポート外」が正しい対応だと思います。

そのほかにも、何らかのセキュリティ対策で、POST メソッドが動かないようになっている、とか、実はよーく見ると、開始タグと終了タグばきちんとペアになっていなくて、たまたま、ブラウザが気を利かしてうまくいっているだけだった、といった事も考えられます。

2. や 3. のように「時々」だと、PC 側の何らかの問題、例えば、得体の知れないマルウェアに感染している、とか、ウィルス対策ソフトの類の誤動作、といった事も考えられます。

といった感じになりますが、まずは、障害の発生状況を正確に把握する事が大切です。

id:tetlis

丁寧にありがとうございます。

教えていただいたことを念頭に置いて、チェックを進めてみようと思います。

2013/03/04 12:34:08

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません