簡體   English   中英

如何使用jquery ajax發送多個輸入字段值的對象

[英]How to send an object of multiple input field values with jquery ajax

我有一個頁面,可以從中添加用戶。 有一個按鈕可以動態添加用戶輸入字段(用戶名 - 密碼)最多 25 次。

所以所有這些字段都具有相同的名稱。 我的問題是,如何將它們全部放在一個對象中以通過 ajax 發送到我的 php 腳本?

目前這是我發布的方式(僅適用於一位用戶):

$username = $form.find( "input[name='username']" ).val(),
$pass = $form.find( "input[name='password']" ).val(),
url = $form.attr( "action" );

var posting = $.post( url, {
  username: $username,
  pass: $pass,
});

但是,可能存在多個具有相同名稱的輸入字段,因此我的 HTML 可能如下所示:

<div class="card-body">
  <!-- <div class="form-group row">
      <label for="example-text-input" class="col-sm-4 col-form-label">Gebruikersnaam</label>
      <div class="col-sm-8">
          <input class="form-control" name="username[]" value="" type="text" id="example-text-input">
      </div>
  </div>
  <div class="form-group row">
      <label for="example-text-input" class="col-sm-4 col-form-label">Wachtwoord</label>
      <div class="col-sm-8">
          <input class="form-control" name="password[]" placeholder="" value='' type="text" id="example-text-input">
      </div>
  </div> -->


  <div class="form-group fieldGroup">

        <div class="form-group row">
            <label for="example-text-input" class="col-sm-4 col-form-label">Gebruikersnaam</label>
            <div class="col-sm-8">
                <input class="form-control" name="username[]" value="" type="text">
            </div>
        </div>
        <div class="form-group row">
            <label for="example-text-input" class="col-sm-4 col-form-label">Wachtwoord</label>
            <div class="col-sm-8">
                <input class="form-control" name="password[]" placeholder="" value="" type="text">
            </div>
        </div>
          <div class="input-group-addon">
              <a href="javascript:void(0)" class="btn btn-success addMore"><span class="glyphicon glyphicon glyphicon-plus" aria-hidden="true"></span> Extra gebruiker</a>
          </div>

  </div><div class="form-group fieldGroup">

        <div class="form-group row">
            <label for="example-text-input" class="col-sm-4 col-form-label">Gebruikersnaam</label>
            <div class="col-sm-8">
                <input class="form-control" name="username[]" value="" type="text" id="example-text-input">
            </div>
        </div>
        <div class="form-group row">
            <label for="example-text-input" class="col-sm-4 col-form-label">Wachtwoord</label>
            <div class="col-sm-8">
                <input class="form-control" name="password[]" placeholder="" value="" type="text" id="example-text-input">
            </div>
        </div>
          <div class="input-group-addon">
              <a href="javascript:void(0)" class="btn btn-danger remove"><span class="glyphicon glyphicon glyphicon-remove" aria-hidden="true"></span> Verwijder velden</a>
          </div>

  </div><div class="form-group fieldGroup">

        <div class="form-group row">
            <label for="example-text-input" class="col-sm-4 col-form-label">Gebruikersnaam</label>
            <div class="col-sm-8">
                <input class="form-control" name="username[]" value="" type="text" id="example-text-input">
            </div>
        </div>
        <div class="form-group row">
            <label for="example-text-input" class="col-sm-4 col-form-label">Wachtwoord</label>
            <div class="col-sm-8">
                <input class="form-control" name="password[]" placeholder="" value="" type="text" id="example-text-input">
            </div>
        </div>
          <div class="input-group-addon">
              <a href="javascript:void(0)" class="btn btn-danger remove"><span class="glyphicon glyphicon glyphicon-remove" aria-hidden="true"></span> Verwijder velden</a>
          </div>

  </div><div class="form-group fieldGroup">

        <div class="form-group row">
            <label for="example-text-input" class="col-sm-4 col-form-label">Gebruikersnaam</label>
            <div class="col-sm-8">
                <input class="form-control" name="username[]" value="" type="text" id="example-text-input">
            </div>
        </div>
        <div class="form-group row">
            <label for="example-text-input" class="col-sm-4 col-form-label">Wachtwoord</label>
            <div class="col-sm-8">
                <input class="form-control" name="password[]" placeholder="" value="" type="text" id="example-text-input">
            </div>
        </div>
          <div class="input-group-addon">
              <a href="javascript:void(0)" class="btn btn-danger remove"><span class="glyphicon glyphicon glyphicon-remove" aria-hidden="true"></span> Verwijder velden</a>
          </div>

  </div><div class="form-group fieldGroup">

        <div class="form-group row">
            <label for="example-text-input" class="col-sm-4 col-form-label">Gebruikersnaam</label>
            <div class="col-sm-8">
                <input class="form-control" name="username[]" value="" type="text" id="example-text-input">
            </div>
        </div>
        <div class="form-group row">
            <label for="example-text-input" class="col-sm-4 col-form-label">Wachtwoord</label>
            <div class="col-sm-8">
                <input class="form-control" name="password[]" placeholder="" value="" type="text" id="example-text-input">
            </div>
        </div>
          <div class="input-group-addon">
              <a href="javascript:void(0)" class="btn btn-danger remove"><span class="glyphicon glyphicon glyphicon-remove" aria-hidden="true"></span> Verwijder velden</a>
          </div>
  </div>


  <!-- copy of input fields group -->
  <div class="form-group fieldGroupCopy" style="display: none;">

        <div class="form-group row">
            <label for="example-text-input" class="col-sm-4 col-form-label">Gebruikersnaam</label>
            <div class="col-sm-8">
                <input class="form-control" name="username[]" value="" type="text" id="example-text-input">
            </div>
        </div>
        <div class="form-group row">
            <label for="example-text-input" class="col-sm-4 col-form-label">Wachtwoord</label>
            <div class="col-sm-8">
                <input class="form-control" name="password[]" placeholder="" value="" type="text" id="example-text-input">
            </div>
        </div>
          <div class="input-group-addon">
              <a href="javascript:void(0)" class="btn btn-danger remove"><span class="glyphicon glyphicon glyphicon-remove" aria-hidden="true"></span> Verwijder velden</a>
          </div>

  </div>
</div>

我之前嘗試過類似的產品數量:

var elements = tpj('.quantity input[name="quantity"]'),
    url = 'includes/cartoverzicht.php',
    url1 = 'includes/shoppingcart.php',
    postBody = [];
for (var i=0; i<elements.length; i++) {
    var element = tpj(elements[i]);
    postBody.push({
        product: element.attr('id'),
        quantity: element.val()
    })
}

做這個的最好方式是什么? 在我的 PHP 腳本中,我需要循環對象的內容,因此每個用戶名和密碼必須保持在一起。

您可以簡單地使用 jQuery 方法.serialize() ,例如:

var postBody = $form.serialize();

var posting = $.post( url, postBody, function(response){
    //console.log( response );
});

 console.log($('form').serialize());
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form> <div class="card-body"> <div class="form-group fieldGroup"> <div class="form-group row"> <label for="example-text-input" class="col-sm-4 col-form-label">Gebruikersnaam</label> <div class="col-sm-8"> <input class="form-control" name="username[]" value="" type="text"> </div> </div> <div class="form-group row"> <label for="example-text-input" class="col-sm-4 col-form-label">Wachtwoord</label> <div class="col-sm-8"> <input class="form-control" name="password[]" placeholder="" value="" type="text"> </div> </div> <div class="input-group-addon"> <a href="javascript:void(0)" class="btn btn-success addMore"><span class="glyphicon glyphicon glyphicon-plus" aria-hidden="true"></span> Extra gebruiker</a> </div> </div> <div class="form-group fieldGroup"> <div class="form-group row"> <label for="example-text-input" class="col-sm-4 col-form-label">Gebruikersnaam</label> <div class="col-sm-8"> <input class="form-control" name="username[]" value="" type="text" id="example-text-input"> </div> </div> <div class="form-group row"> <label for="example-text-input" class="col-sm-4 col-form-label">Wachtwoord</label> <div class="col-sm-8"> <input class="form-control" name="password[]" placeholder="" value="" type="text" id="example-text-input"> </div> </div> <div class="input-group-addon"> <a href="javascript:void(0)" class="btn btn-danger remove"><span class="glyphicon glyphicon glyphicon-remove" aria-hidden="true"></span> Verwijder velden</a> </div> </div> <div class="form-group fieldGroup"> <div class="form-group row"> <label for="example-text-input" class="col-sm-4 col-form-label">Gebruikersnaam</label> <div class="col-sm-8"> <input class="form-control" name="username[]" value="" type="text" id="example-text-input"> </div> </div> <div class="form-group row"> <label for="example-text-input" class="col-sm-4 col-form-label">Wachtwoord</label> <div class="col-sm-8"> <input class="form-control" name="password[]" placeholder="" value="" type="text" id="example-text-input"> </div> </div> <div class="input-group-addon"> <a href="javascript:void(0)" class="btn btn-danger remove"><span class="glyphicon glyphicon glyphicon-remove" aria-hidden="true"></span> Verwijder velden</a> </div> </div> <div class="form-group fieldGroup"> <div class="form-group row"> <label for="example-text-input" class="col-sm-4 col-form-label">Gebruikersnaam</label> <div class="col-sm-8"> <input class="form-control" name="username[]" value="" type="text" id="example-text-input"> </div> </div> <div class="form-group row"> <label for="example-text-input" class="col-sm-4 col-form-label">Wachtwoord</label> <div class="col-sm-8"> <input class="form-control" name="password[]" placeholder="" value="" type="text" id="example-text-input"> </div> </div> <div class="input-group-addon"> <a href="javascript:void(0)" class="btn btn-danger remove"><span class="glyphicon glyphicon glyphicon-remove" aria-hidden="true"></span> Verwijder velden</a> </div> </div> <div class="form-group fieldGroup"> <div class="form-group row"> <label for="example-text-input" class="col-sm-4 col-form-label">Gebruikersnaam</label> <div class="col-sm-8"> <input class="form-control" name="username[]" value="" type="text" id="example-text-input"> </div> </div> <div class="form-group row"> <label for="example-text-input" class="col-sm-4 col-form-label">Wachtwoord</label> <div class="col-sm-8"> <input class="form-control" name="password[]" placeholder="" value="" type="text" id="example-text-input"> </div> </div> <div class="input-group-addon"> <a href="javascript:void(0)" class="btn btn-danger remove"><span class="glyphicon glyphicon glyphicon-remove" aria-hidden="true"></span> Verwijder velden</a> </div> </div> <!-- copy of input fields group --> <div class="form-group fieldGroupCopy" style="display: none;"> <div class="form-group row"> <label for="example-text-input" class="col-sm-4 col-form-label">Gebruikersnaam</label> <div class="col-sm-8"> <input class="form-control" name="username[]" value="" type="text" id="example-text-input"> </div> </div> <div class="form-group row"> <label for="example-text-input" class="col-sm-4 col-form-label">Wachtwoord</label> <div class="col-sm-8"> <input class="form-control" name="password[]" placeholder="" value="" type="text" id="example-text-input"> </div> </div> <div class="input-group-addon"> <a href="javascript:void(0)" class="btn btn-danger remove"><span class="glyphicon glyphicon glyphicon-remove" aria-hidden="true"></span> Verwijder velden</a> </div> </div> </div> </form>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM