我正在填充输入字段列表,以允许用户输入多个位置。 (我找到了一种填充列表的方法,但我认为这可能不是正确的方法,因为我才刚刚开始,我想我最好学会正确地做它)。我这样填充列表:
function addLocationBox(){
$('#InputBoxesList').append('<li><input type="text" /><input type="button" value ="Add Location" onclick="addLocationBox();"/></li>')
}
当用户填写字段并稍后在页面中按下提交按钮时,我需要知道如何检索他们输入的文本。有什么建议么?我是 javascript 的新手,所以也欢迎任何其他指示:)。
最佳答案
您可以使用.each()
在输入之间循环。
假设您想要使用 Ajax 和 JQuery POST
您的输入值。仅输入,而不是文本区域或选择,对于示例来说更容易。
首先,您需要文本输入和一个字符串变量来存储数据。
在此字符串中,我通常首先存储提交的值
。它在服务器端很有用。
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;
});
您现在有了一个可以像这样 POST 的数据字符串,例如到 form.php :
$.ajax({
type: "POST",
data: datastring,
url: "form.php",
success: function(data) {
// your success handler
},
error: function() {
// your error handler
}
});
这不是剪切和粘贴解决方案,而是一种通用方法。
它不会处理文本区域、复选框、选择等。
它不会处理多种表单。
它在发布数据之前不会检查数据。
所以请谨慎使用。
关于javascript - 如何在列表中动态生成输入字段,然后从所述字段中检索文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14823722/