1

我正在填充输入字段列表以允许用户输入多个位置。(我找到了一种填充列表的方法,但我认为它可能不是正确的方法,因为我才刚刚开始,我想我最好学会做正确的事)。我这样填充列表:

function addLocationBox(){
    $('#InputBoxesList').append('<li><input type="text" /><input type="button" value ="Add Location"  onclick="addLocationBox();"/></li>')
}

当用户填写完字段并稍后在页面中按下提交按钮时,我需要知道如何检索他们输入的文本。有什么建议么?我是 javascript 的新手,所以也欢迎任何额外的指针:)。

4

1 回答 1

1

您可以使用.each()在输入之间循环。

假设您想POST使用 Ajax 和 JQuery 输入值。只有输入,而不是文本区域或选择,对于示例来说更容易。

首先,您需要文本输入和一个字符串变量来存储数据。在这个字符串中,我经常首先存储value我提交的内容。它在服务器端很有用。

var $inputs    = $("input").not("input[type=submit]"),
    submitval  = $("input[type=submit]").val(),
    datastring = "submit="+submitval;

然后,您使用.each()循环输入并在数据字符串中附加名称/值:

$inputs.each(function() {
  var $this = $(this),
      name  = $this.attr("name"),
      val   = $this.val();

      datastring += "&"+name+"="+val;    
});

您现在有一个可以像这样发布的数据字符串,例如 form.php :

$.ajax({
  type: "POST",
  data: datastring,
  url: "form.php",
  success: function(data) {
    // your success handler
  }, 
  error: function() {
    // your error handler
  }   
});

这不是剪切和粘贴解决方案,而是一种通用的方法。

它不会处理文本区域、复选框、选择等。
它不会处理多个表单。
它不会在发布之前检查数据。

所以谨慎使用。

于 2013-02-12T01:12:37.083 回答