我正在开发一个Chrome扩展程序,当用户离开页面时,会保存该页面上文本框中的所有文本并将其输出到文件中。
如果我知道页面上文本框的ID,那么它不会成为问题,但问题是我需要扩展来获取页面上所有文本框的值没有知道ID,因为每次使用扩展名时它都是不同的网站。
另外,如何收集信息?在一个字符串?下到页面并将每个文本框逐个添加到文件中,而不是一个巨大的字符串,这将是一件好事。
我从来没有使用过jQuery或者理解它,并且可能有一个解决方案,它让我盯着我。如果有人建议使用它,请你解释一下吗?
提前致谢。我会发布我的代码,但我不知道从哪里开始 - 我不会有任何代码。
答案 0 :(得分:3)
您可以使用$.each将其存储在数组中,如下:
var valsArr = [];
$("input[type=text]").each(function() {
valsArr.push( $(this).val() );
});
或创建以name
为键,value
为其值的对象,如:
var valsObj = {};
$("input[type=text]").each(function() {
valsObj[this.name] = $(this).val();
});
答案 1 :(得分:1)
你可以这样做:
function onClick(){
var areas = document.getElementsByTagName("textarea");
for(var i = 0; i < areas.length; i++){
alert(areas[i].value);
}
}
&#13;
<textarea></textarea>
<textarea></textarea>
<button onclick="onClick()">Gather information</button>
&#13;
另见&#34;保存到文件&#34;问题Using HTML5/Javascript to generate and save a file
答案 2 :(得分:0)
制作for循环
for(i=0; i < $("input[type='text']").length; i++){
$("input[type='text']").index(i).value();
}
答案 3 :(得分:0)
使用选择器并在每个循环中应用它。
$(":text").each(function(){
alert($(this).val());
});
答案 4 :(得分:0)