在jQuery中保存用户输入

Saving user input in jQuery?

本文关键字:用户 输入 保存 jQuery      更新时间:2023-09-26
$(document).ready(function () {
    var userSites = newArray();
    var max_fields = 100; //maximum input boxes allowed 
    var wrapper = $(".input_fields_wrap"); //fields wrapper
    var add_button = $(".add_field_button"); //Add button ID
    var x = 5; //initial text box count
    $(add_button).click(function (e) { //on add input button click
        e.preventDefault();
        if (x < max_fields) {
            x++; //text box increment
            $(wrapper).append('<div><input type="text" name ="mytext[]"/><a href="#" class="remove_field">Remove</a></div>'); //add input box
        }
    });
    $(wrapper).on("click", ".remove_field", function (e) { //user click on remove text
        e.preventDefault();
        $(this).parent('div').remove();
        x--;
    })
});

我有这段代码,因为我想有很多用户输入。但是,一旦用户输入了这些内容,我如何将其保存到数组中?这可能吗?我想将其保存到可以从java小程序访问的数组中,这也可以吗?

但是,现在用户已经输入了这些内容,我如何将其保存到数组中?这可能吗?我想将其保存到可以从 java 小程序访问的数组中?

提交表单时,事件处理程序collectData收集每个<input>中的文本,并使用 push 方法填充数组。然后将该数组存储在隐藏<input>中,然后通过表单提取该数据,然后将其发布到服务器。

我对Java小程序了解不多,但我把你带到了这一步。我建议你在一个新问题中询问Java。你的标签是JavaScript/jQuery性质的。

我的演示实际上与测试服务器一起使用,因此一旦提交,服务器将使用发布到它的数据进行响应。

这有效:http://plnkr.co/edit/seD0L3oI7dTnXQrrFZPl?p=preview

添加的代码

  form.addEventListener('submit', collectData, false);
  function collectData(e) {
    var userSites = [];
    var cache = document.getElementById('cache');
    var z = 0;
    while (z < max_fields) {
      z++;
      var data = inputs[z].val();
      userSites.push(data);
    }
    e.stopPropagation();
    cache.value = userSites;
  }
});

在你其中一个脚本标签中创建一个数组对象:

<script type="text/javascript" >
   var myArr=new Array();
</script>

现在将 onchange 添加到您的输入中,同时更新 myArr :

$(wrapper).append('<div><input type="text" name ="myText'+x.toString()+'" onchange="myArr.push(this.value);document.getElementById('myArrInput').value=JSON.stringify(myArr);" /><a href="#" class="remove_field" onclick="myArr['+x.toString()+'].value=null;document.getElementById('myArrInput').value=JSON.stringify(myArr);" >Remove</a></div>'); 

将此隐藏字段添加到您的页面,以将 myArr 作为 JSON 字符串发送给您的小程序:

<input id="myArrInput" type="hidden" name="myArray" value="" />

在服务器中,您必须将myArray Json字符串转换为对象。