繁体   English   中英

页面上所有文本框的值-不知道ID?

[英]Values of all textboxes on a page - without knowing the ID?

我正在开发一个Chrome扩展程序,当用户离开页面时,它将保存该页面上文本框中的所有文本并将其输出到文件中。

如果我知道页面上文本框的ID,那不会有问题,但是问题是我需要扩展名才能在知道ID的情况下获取页面上所有文本框的值,因为它将每次使用该扩展程序时,请成为其他网站。

另外,如何收集信息? 在字符串中? 最好将页面向下并将每个文本框一个一个地添加到一个文件中,而不是一个巨大的字符串中。

我从来没有使用过jQuery也不了解它,并且其中可能有一个解决方案让我望而却步。 如果有人建议使用它,请您能解释一下吗?

提前致谢。 我会发布我的代码,但我不知道从哪里开始-嗯,我没有任何起点。

您可以使用$ .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();
});

您可以这样做:

 function onClick(){ var areas = document.getElementsByTagName("textarea"); for(var i = 0; i < areas.length; i++){ alert(areas[i].value); } } 
 <textarea></textarea> <textarea></textarea> <button onclick="onClick()">Gather information</button> 

另请参阅有关“保存到文件”问题的内容, 使用HTML5 / Javascript生成和保存文件

进行for循环

for(i=0; i < $("input[type='text']").length; i++){
   $("input[type='text']").index(i).value();
}

使用选择器并在每个循环中应用它。

$(":text").each(function(){
    alert($(this).val());
});

您可以使用.map() :它返回一个数组。

var arr = $(":text").map(function() {
    return this.value
}).get();  //add join(',') after get() to get a simple comma separated list.

除了input[type="text"]您还可以使用:text伪选择器。

演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM