2

ajax をロードしたフォームで serialize() に問題があります。

jQuery コード:

$(document).on("submit", this.id, function(e) {
  e.preventDefault();
  var frm     = e.target.id;
  var frmData = $("#"+frm).serialize();
  console.log(frm);
  console.log(frmData);
});

コンソール出力:

  1. ログインフォーム
  2. (空のテキスト)

フォーム自体 (ブートストラップ):

<div class="tab-pane active" id="logintab">
  <div class="well">
    <form class="form-horizontal" id="loginForm">
      <div class="control-group">
        <label class="control-label" for="inputEmail">E-mail adres</label>
        <div class="controls">
          <input type="email" id="inputEmail" value="info@domainname.com" placeholder="E-mail adres" data-validation-email-message="Not a valid e-mail address"  required>
        </div>
      </div>
      <div class="control-group">
        <label class="control-label" for="inputPassword">Password</label>
        <div class="controls">
          <input type="password" id="inputPassword" value="test" placeholder="Wachtwoord" data-validation-required-message="Not a valid password"  required>
        </div>
      </div>
      <div class="control-group">
        <div class="controls">
          <button type="submit" class="btn submitbtn"><i class="icon-signin"></i> Inloggen</button>
        </div>
      </div>
    </form>
  </div>
</div>
4

1 に答える 1

8

フォーム要素には、シリアル化する名前と値が必要です。要素には名前がありません。名前を追加する場合:

<input type="email" name="email" id="inputEmail" ......

それはうまく動作します:

フィドル

于 2013-06-02T10:35:29.193 に答える