重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

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

すでに単独では動作しているsub.htmlにinputボタンでサブミットし、input値だけではなく、当該formデータをajaxで処理した後サーバ側で受け取り処理しています。
これを、画面遷移を無くすためajaxでメイン.htmlにsub.htmlを$('#sample01').append(data)で表示すると動作はするのですが、クライアントよりsubmitする時にどうしても、ajaxではinputのvalue値しか取得できません。
value値だけではなく、その時form全体の値を取得する方法をご教示ください。

よろしくお願いします。

質問者からの補足コメント

  • 有り難うございます。
    ブラウザ側のsubmitで処理しているのではなくて、スクリプトからajax送信しています。onclickで動作しています、form.serialize()でも動作し正常に動作しいます。
    しかしながら、メイン.htmlにsub.htmlを$('#sample01').append(xxx)で画面遷移なしに表示させたとき挙動が違いformとしては取得できない状況です。既存のソースをそのまま活かしたく質問しました。ご返事有り難うございます。

    No.1の回答に寄せられた補足コメントです。 補足日時:2016/12/02 23:38

A 回答 (2件)

ANo1です。



>formとしては取得できない状況です。
formが取得できれば良いということでしょうか。

どのような方法で処理なさっているのかまったくかりませんが、
>onclickで動作しています、
とのことなので、そのトリガーにしている要素は該当formの要素であろうと推測します。(違っていも同じことですが)
もしも、Jquery利用なのであれば、
 $(this).parent("form") あるいはparents()などでたどれば、簡単に取得できると思いますが・・・?

※ スマホからなのでこれ以上は無理(^_^;)
    • good
    • 0
この回答へのお礼

ありがうございます。
問題なく取得できました。
既存ソースをすべて修正する必要が無く取得できればと思い質問しましが、
仕様のようでした。有り難うございます。

お礼日時:2016/12/03 20:51

こんにちは



>クライアントよりsubmitする時にどうしても、
>ajaxではinputのvalue値しか取得できません。
意味がよくわかりませんが、ブラウザ側のsubmitで処理しているのではなくて、スクリプトからajax送信しているのですよね?
(ブラウザでsubmitすれば、基本的に全部の値が送られるはずなので)
該当するform内の入力要素の値を送ればよいだけのような気もしますが・・・

ご質問文には記されていませんが、雰囲気的にjQueryを利用しているような感じなので、jQuery利用であればform.serialize()を用いることで、簡単にフォーム内の入力要素の値をシリアライズできます。
http://api.jquery.com/serialize/


そういう意味のご質問ではなかったのでしょうか?
その場合はスルーしてください。
この回答への補足あり
    • good
    • 0

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