LoginSignup
11
8

More than 5 years have passed since last update.

formのsubmitがおかしい時にチェックすべき3つの事

Posted at

formの挙動ではまった箇所をまとめました。
あれ?っと思ったら確認してみてください。

formが入れ子になっている

<form id="main">
  <form id="sub"></form>
</form>

エラーとかは起きません。
formが入れ子になっている場合、<form id="main"></form>の中のタグはソースから全て消え去ります。

formを動的に追加した場合

  var $f = $('<form></form>');
  $f.append('<input type="hidden" name="age" value="20">');
  $f.submit();

これは動きません。htmlソース上にformがないので、Form submission canceled because the form is not connected とか出ます。なので

  var $f = $('<form></form>');
  $f.append('<input type="hidden" name="age" value="20">').appendTo($('body:first'));
  $f.submit();

これでbody内にformが追加され、送信できるようになります。

buttonタグのtype

<button type="**">ボタン</button>

buttonタグのtypeは指定しないと、初期値でsubmit(送信)が入ります。

勝手にbutton(何もしない)だと思っていたので、謎の挙動に焦りました。

参考

http://www.htmq.com/html5/button.shtml
http://blog.fkoji.com/2012/04151445.html

11
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
8