【问题标题】:How to get the name and value of inputs in key value pair如何获取键值对中输入的名称和值
【发布时间】:2015-05-26 14:07:58
【问题描述】:

我想在单击按钮时将输入元素的名称和值存储在数据库中。所以我想将名称作为键和值作为值。

    <form id="form">
      <input type="text" name="fname" value="a">
      <input type="text" name="lname" value="b">
      <input type="button" value="submit">
    </form>

我在单击按钮时使用此 jquery 代码来获取值。

    $('#form input').each(function(key, value) {
      alert(this.value);
    });

请帮助获取键值对(json格式)的名称和值。

【问题讨论】:

  • obj[this.name] = this.value
  • 完成 HTML 代码。
  • 我完成了代码。等待您的解决方案

标签: javascript jquery key-value


【解决方案1】:

试试这个:

var obj = {};
$('#new_user_form input, #new_user_form select').each(function(key, value) {
     obj[this.name] = this.value;
});

【讨论】:

    【解决方案2】:

    如果您想要每个输入的单独 JSON 字符串,请使用 JSON.sringify() 和对象文字。

    $('input[type="text"]').each(function () {
      var obj = {};
      obj[$(this).attr('name')] = $(this).val();
      alert(JSON.stringify(obj));
    });
    <form>
      <input type="text" name="fname" value="a">
      <input type="text" name="lname" value="b">
    </form>
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

    或者,创建一个对象字面量数组。

    DEMO

    var inputs = [];
    
    $('input[type="text"]').each(function () {
      var obj = {};
      obj[$(this).attr('name')] = $(this).val();
      inputs.push(obj);
    });
    
    console.log(JSON.stringify(inputs));
    

    【讨论】:

      【解决方案3】:

          $('#form').submit(function(e) {
            e.preventDefault(); // prevent form from submission.
            var $form = $(this);
            var url = $form.attr("action");
            console.log(url);
            var data = $form.serializeArray(); // check out this console log everything is in key-value pair.
            console.log(data);
            var $divDisplay = $("#key-value-display");
            $divDisplay.html(data);
      
      
            $.ajax({
              url: url,
              data: data,
      
            }).done(function(response) {
              //work with response here.
            });
          });
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
      <form id="form" action="url.php or asp.net whereever you are processing" method="post">
        <input type="text" name="fname" value="a">
        <input type="text" name="lname" value="b">
        <input type="submit" value="submit">
      </form>
      <div id="key-value-display"></div>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-25
        • 2019-02-10
        • 2019-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-04
        相关资源
        最近更新 更多