Javascript IEで「識別子がありません」とエラーが出てしまいます。

解決済みの質問

Javascript IEで「識別子がありません」とエラーが出てしまいます。

ページの読み込みが完了した段階でsubmit()して、
formの内容をactionで指定した先にPOSTしたいのですが、IE6で

エラー:識別子がありません
コード:0

と出てしまい動作しません。
以下がそのソースです。

---------------
<html>
<head>
<meta http-equiv="Content-Script-Type" content="text/javascript">
</head>
<body onload="document.export.submit()">
<form action="list.php" method="POST" name="export">
<input type="hidden" name="data[0][text]" value="テキスト">
<input type="hidden" name="mode[export]" value="" />
<input type="submit" name="submitButton" value="エクスポート"/>
</form>
</body>
</html>
---------------

なお、Firefox2.0では正常に動作しています。

<body onload="document.form['export'].submit()">
などと、いろいろと弄り回してはみたのですが、
どつぼにハマるばかりだったので、解る方ご教授下さいませ…。

投稿日時 - 2008-10-20 17:23:50

連想キーワード:

QNo.4416024

すぐに回答ほしいです

質問者が選んだベストアンサー

原因はおそらく予約語だと思いますが、とりあえず
formにnameをつけるやり方をやめるだけでなんとかなります。

<script>
window.onload=function(){
var tag=document.getElementById("export");
tag.submit();

}
</script>
<form action="xxx.php" method="POST" id="export">
<input type="hidden" name="data[0][text]" value="テキスト">
<input type="hidden" name="mode[export]" value="" />
<input type="submit" name="submitButton" value="エクスポート"/>
</form>

それにしても、中間ページにエンドユーザーのブラウザを
介するのはあまりいいことではありませんね。

投稿日時 - 2008-10-20 18:16:25

お礼

解決しました!ありがとうございます!

>中間ページにエンドユーザーのブラウザ
そうですね、重々承知しています。
これまで編集した結果のエクスポートを手動で行っていたのですが、「出し忘れがあると不便で・・・」という声があがったことから自動でエクスポートを行うようにしたかったのです。
PHPを使用しているので他にやりようもあったのかもしれませんが、社内でのみ使うものだという事と、時間をあまりかけられない事からこういった手段を取りました。

とても助かりました。ありがとうございます。

投稿日時 - 2008-10-20 18:51:33

ANo.2

3人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(1件中 1~1件目)

ANo.1

exportって予約語だからでは?
export にせず、expor に変更すると正常に動作します。

参考URL:http://memo.xight.org/2005-12-22-2

投稿日時 - 2008-10-20 18:16:18

お礼

exportが予約語だったんですね…
ありがとうございます。

投稿日時 - 2008-10-21 10:04:56

あわせてチェックしたい
  • submit ...
  • BODYタグのonloadについて ...
  • submitボタンを二つ用意したい ...
PR
【回答募集中】花粉にひと言、物申す![ 詳細 ]

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら