var text = "111,putin\n222,shoigu";
var valmap = {};
var lines = text.split('\n');
for (var i = 0; i < lines.length; i++) {
var expr = lines[i].split(',');
valmap[expr[0]] = expr[1];
}
var inputs = document.getElementsByTagName('INPUT');
for (var i = 0; i < inputs.length; i++) {
if (valmap[inputs[i].value.trim()] != null) {
inputs[i].value = valmap[inputs[i].value.trim()];
}
}
запущенный из веб консоли на такой страничке:
<html>
<head>
<meta charset="utf-8">
<title>Тег INPUT</title>
</head>
<body>
<form name="test" method="post" action="input1.php">
<p><b>Your beloved president</b><br>
<input id="input_here1" type="text" size="40" value="111">
</p>
<p><b>Your beloved head of MCHS</b><br>
<input id="input_here2" type="text" size="40" value="222">
</p>
</form>
</body>
</html>
дает нужный результат
Однако, чтение из произвольного файла было бы серьезной уязвимостью, поэтому для того, чтобы прикрутить вместо нулевой строки скрипта, например, такое:
function readTextFile(file)
{
var rawFile = new XMLHttpRequest();
rawFile.open("GET", file, false);
rawFile.onreadystatechange = function ()
{
if(rawFile.readyState === 4)
{
if(rawFile.status === 200 || rawFile.status == 0)
{
return rawFile.responseText;
}
}
}
rawFile.send(null);
}
var text = readTextFile("file:///D:/111.txt");
нужно очень длительно потрахаться с снижением безопасности браузера. на CORS хэдеры там забить, и прочее.
Без дополнительного описания условий, не очень понятно, какие есть инструменты, и как будут использоваться результаты работы скрипта (и подойдет ли, например, headless selenium)
P.S. иски можно скинуть на профильного чара
Сообщение отредактировал Zarxonius: 25 October 2016 - 19:38