dT*blog

design and programming

javascriptでsubmitできない?

悔しいことにハマったので、メモ。

次のような感じで、javascriptでformをサブミットしようとしたら、エラーになってしまう。

<form name="addForm" action="/add" method="post">
<input type="button" name="submit" onclick="document.forms[0].submit()" value="送信" />
</form>

理由を聞いてみると、

document.forms[0].submit is not a function

関数じゃないって、そんなわけあるかい。javascriptの不審な動きに、仕方なくひとつひとつ探っていって、やっと分かりましたよ。formタグのなかに、「submit」という名前の要素を置くと、そっちを参照しちゃうみたい。ここでは、ボタンの名前に「submit」なんて付けているからダメだと。

言われてみれば、確かにそれはそれで正しい気がする。でも、まあ、もう少し優しい言葉を返してくれても良いんじゃないだろうか。同じ理由で、例えば、action や target という名前も、避けないといけないってことだよね。

回避策もありそうな気はするんだけどなあ。見つけたらエントリしまっす。

Posted by dT by 02:19

トラックバック

このエントリーのトラックバックURL
http://www.deftrash.com/admin/mt/mt-tb.cgi/466

コメント




保存しますか?

(書式を変更するような一部のHTMLタグを使うことができます)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30