電子書籍の厳選無料作品が豊富!

JavaScriptで、以下のようにsubmitしていますが、
IEではOKで、Firefoxでは「送信開始」ボタンで反応がありません。
Firefoxではどのように書けばよいのでしょうか?

以下は、テストのため省略できるギリギリまで省略していますので、意味のないスクリプトになってますが、実際にはJavaScriptで空白個所のチェックのロジックを入れています。


<html>
<head>
<script language="JavaScript">
<!--
function check1(){
document.FORM1.submit();
}
--->
</script>
</head>
<form action='http://hogehoge.jp' method='post' name="FORM1">
<input type='button' value='送信開始' onClick="check1()">
</form>
</body>
</html>

A 回答 (1件)

考え方は3つ



(1)単純にやるならsubmitをつかい、onsubmitでバリデートする。

<script>
function check1(obj){
return true;
}
</script>
<form method='post' onSubmit="return check1(this)" >
<input type="text" name="hoge" value="fuga" />
<input type="button" value="send"/>
</form>

(2)普通にオブジェクトをわたしてやる
<script>
function check1(obj){
obj.form.submit();
}
</script>
<form method='post'>
<input type="text" name="hoge" value="fuga" />
<input type="button" value="send" onClick="return check1(this)" />
</form>

(3)idでformを拾う
<script>
function check1(){
document.getElementById("FORM1").submit();
}
</script>
<form method='post' id='FORM1'>
<div>
<input type="text" name="hoge" value="fuga" />
<input type="button" value="send" onClick="return check1()" />
</div>
</form>
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

結論から書くと、
原因は、<script></script>で囲んだ中にある ---> を、-をひとつ消して --> にするとFirefoxでも動作しました。

お教えいただいたスクリプトをそのままコピペすると動作するのに、必要個所だけ自分で書くと、何故かFirebugでSyntax Errorになります。
1行ずつ置き換えていって、やっと原因が分かりました。

お礼日時:2010/12/20 17:33

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