我正在写一个chrome扩展,它扩展了我工作中需要使用的一个软件。我希望能够将所有表单数据从一个页面复制到另一个页面,但当我单击保存时,它会立即恢复到以前的状态。
$(document).keypress(function(e){
//alert(e.which);
if (e.shiftKey && ( e.which === 67 )) {
var inputs = $("input[type|='text'], select");
for(var i=0; i < inputs.length; i++)
{
var id = $(inputs[i]).attr("id");
var val = $(inputs[i]).val();
if(id != undefined && id.indexOf("rmaAssetComponents") != -1)
{
id = id.split("_")[7];
}
writeCookie(id, val, 1);
}
}
if (e.shiftKey && ( e.which === 86 )) {
var inputs = $("input[type|='text'], select");
for(var i=0; i < inputs.length; i++)
{
var val = $(inputs[i]).val();
var id = $(inputs[i]).attr("id");
var searchId = id;
if(id != undefined && id.indexOf("rmaAssetComponents") != -1)
{
searchId = id.split("_")[7];
//console.log(searchId);
}
if(val == '')
{
$("[id*='"+id+"']").val(readCookie(searchId));
}
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
我知道代码是意大利面条,请不要对我评价太多。要点是我将文本输入的值存储在cookies中,然后使用.val() jquery函数复制它们。任何帮助都是非常感谢的。
编辑所以看起来它搞砸的唯一输入是可编辑的下拉菜单。我还是不知道为什么。
发布于 2018-08-07 07:28:33
使用.trigger()是一个jQuery函数,直接的javascript (看起来就是您正在使用的)无法识别它。相反,您可以选择dispatchEvent() --看看是怎么回事。
您要做的是创建一个新的更改事件,并将其分派到changed字段。程序性更改不会像用户输入的更改那样传播。
https://stackoverflow.com/questions/51715100
复制相似问题