Monday, June 3, 2024
 Popular · Latest · Hot · Upcoming
179
rated 0 times [  183] [ 4]  / answers: 1 / hits: 134250  / 11 Years ago, wed, april 17, 2013, 12:00:00

I have created a procedure to write content to a text file in my local machine.



<form id=addnew>
<input type=text class=id>
<input type=text class=content>
<input type=submit value=Add>
</form>
<script>
jQuery(function($) {
$('#form_addjts').submit(function(){
writeToFile({
id: $(this).find('.id').val(),
content: $(this).find('.content').val()
});
return false;
});
function writeToFile(data){
var fso = new ActiveXObject(Scripting.FileSystemObject);
var fh = fso.OpenTextFile(D:\data.txt, 8);
fh.WriteLine(data.id + ',' + data.content);
fh.Close();
}
});
</script>


This is working fine, and able to append my new data to the file.



But I want to update a particular row CONTENT based on the ID which I am passing.

I searched a lot, but could not find any.



How can update a particular row in the file based on the ID?



Note:- I am not using any server as such. I have a a html file (contains all the functionality) which I will be running on my local machine itself.


More From » jquery

 Answers
56

Our HTML:



<div id=addnew>
<input type=text id=id>
<input type=text id=content>
<input type=button value=Add id=submit>
</div>

<div id=check>
<input type=text id=input>
<input type=button value=Search id=search>
</div>


JS (writing to the txt file):



function writeToFile(d1, d2){
var fso = new ActiveXObject(Scripting.FileSystemObject);
var fh = fso.OpenTextFile(data.txt, 8, false, 0);
fh.WriteLine(d1 + ',' + d2);
fh.Close();
}
var submit = document.getElementById(submit);
submit.onclick = function () {
var id = document.getElementById(id).value;
var content = document.getElementById(content).value;
writeToFile(id, content);
}


checking a particular row:



function readFile(){
var fso = new ActiveXObject(Scripting.FileSystemObject);
var fh = fso.OpenTextFile(data.txt, 1, false, 0);
var lines = ;
while (!fh.AtEndOfStream) {
lines += fh.ReadLine() + r;
}
fh.Close();
return lines;
}
var search = document.getElementById(search);
search.onclick = function () {
var input = document.getElementById(input).value;
if (input != ) {
var text = readFile();
var lines = text.split(r);
lines.pop();
var result;
for (var i = 0; i < lines.length; i++) {
if (lines[i].match(new RegExp(input))) {
result = Found: + lines[i].split(,)[1];
}
}
if (result) { alert(result); }
else { alert(input + not found!); }
}
}


Put these inside a .hta file and run it. Tested on W7, IE11. It's working. Also if you want me to explain what's going on, say so.


[#78844] Tuesday, April 16, 2013, 11 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
taliac

Total Points: 84
Total Questions: 114
Total Answers: 114

Location: Morocco
Member since Fri, May 22, 2020
4 Years ago
taliac questions
Sun, Mar 21, 21, 00:00, 3 Years ago
Tue, May 12, 20, 00:00, 4 Years ago
Mon, Jan 13, 20, 00:00, 4 Years ago
;