[英]How can I read/write from a plain text in JavaScript
I don't know much about JS, I'm new in this world, I know about HTML and CSS but this time I was asked to make an aplication where I have to receive data from a plain text to my formulary using JS. 我对JS不太了解,我是这个世界的新手,对HTML和CSS也不了解,但是这次我被要求做一个应用,我必须使用JS从纯文本接收数据到我的配方中。
Here's my Plain Text data.txt: 这是我的纯文本data.txt:
Interfaces: test1,
IP: 192.168.1.1,
Mask : test,
Gateway : test,
DNS 1: test,
DNS 2: test,
Broadcast: test
Here's my Div: 这是我的Div:
<div class="col-md-12">
<div class="form-panel">
<h4><i class="fa fa-angle-right"></i> Formulario </h4>
<hr />
<form method="post">
<div class="form-group">
<label class="col-sm-3 col-sm-3 control-label">Interfaces:</label>
<div class="col-sm-9">
<input type="text" class="form-control"
</div>
</div>
<div class="form-group ">
<label class="col-sm-3 col-sm-3 control-label">IP: </label>
<div class="col-sm-9">
<input type="text" class="form-control"
</div>
</div>
<div class="form-group">
<label class="col-sm-3 col-sm-3 control-label">Mask : </label>
<div class="col-sm-9">
<input type="text" class="form-control"
</div>
</div>
<div class="form-group">
<label class="col-sm-3 col-sm-3 control-label"> Gateway : </label>
<div class="col-sm-9">
<input type="text" class="form-control"
</div>
</div>
<div class="form-group">
<label class="col-sm-3 col-sm-3 control-label">DNS 1 : </label>
<div class="col-sm-9">
<input type="text" class="form-control"
</div>
</div>
<div class="form-group">
<label class="col-sm-3 col-sm-3 control-label">DNS 2 : </label>
<div class="col-sm-9">
<input type="text" class="form-control"
</div>
</div>
<div class="form-group">
<label class="col-sm-3 col-sm-3 control-label">Broadcast : </label>
<div class="col-sm-9">
<input type="text" class="form-control"
</div>
</div>
<br><br>
<div class="form-group">
<button type="submit" name="Save" class="btn btn-success btn-sm" " title="Save"><i class="fa fa-save"></i> Save</button>
</div>
</form>
</div>
That's the script I got from you guys, because I was looking for code to do it and that's what I got. 那是我从你们那里得到的脚本,因为我一直在寻找代码来做,这就是我得到的。
The point is the data that contains "data.tx" should be on my formulary and if I modify any field there and I hit "save" button it has to write on my plain text as well. 关键是包含“ data.tx”的数据应位于我的配方中,如果我在那里修改任何字段,然后单击“保存”按钮,它也必须写在我的纯文本上。
Is there a way to make it work? 有办法使它起作用吗? thanks!
谢谢!
Entire code bellow. 整个代码如下。
var mytext; var connection = new XMLHttpRequest(); connection.open('GET', '/data.txt'); connection.onreadystatechange = function() { mytext=connection.responseText; } connection.send();
<div class="col-md-12"> <div class="form-panel"> <h4><i class="fa fa-angle-right"></i> Formulario </h4> <hr /> <form method="post"> <div class="form-group"> <label class="col-sm-3 col-sm-3 control-label">Interfaces:</label> <div class="col-sm-9"> <input type="text" class="form-control" </div> </div> <div class="form-group "> <label class="col-sm-3 col-sm-3 control-label">IP: </label> <div class="col-sm-9"> <input type="text" class="form-control" </div> </div> <div class="form-group"> <label class="col-sm-3 col-sm-3 control-label">Mask : </label> <div class="col-sm-9"> <input type="text" class="form-control" </div> </div> <div class="form-group"> <label class="col-sm-3 col-sm-3 control-label"> Gateway : </label> <div class="col-sm-9"> <input type="text" class="form-control" </div> </div> <div class="form-group"> <label class="col-sm-3 col-sm-3 control-label">DNS 1 : </label> <div class="col-sm-9"> <input type="text" class="form-control" </div> </div> <div class="form-group"> <label class="col-sm-3 col-sm-3 control-label">DNS 2 : </label> <div class="col-sm-9"> <input type="text" class="form-control" </div> </div> <div class="form-group"> <label class="col-sm-3 col-sm-3 control-label">Broadcast : </label> <div class="col-sm-9"> <input type="text" class="form-control" </div> </div> <br><br> <div class="form-group"> <button type="submit" name="Save" class="btn btn-success btn-sm" " title="Save"><i class="fa fa-save"></i> Save</button> </div> </form> </div> </div>
I don't know ia more efficient solution exists, but below code is working. 我不知道存在更有效的解决方案,但是下面的代码正在工作。
Here is how I achieved it, using jQuery .load()
这是我使用jQuery
.load()
$(document).ready(function(){
// Load the file in an hidden div element.
$("#hiddenFileLoad").load("data.txt", function(){
// Callback executes when content is loaded
// Place the content in a var
var loadedText = $("#hiddenFileLoad").text();
console.log("loadedText:\n\n"+loadedText);
// Split into an array
var loadedTextSplitted = loadedText.split(",");
// Remove the label part for each
for (i=0;i<loadedTextSplitted.length;i++){
temp = loadedTextSplitted[i].split(": ");
loadedTextSplitted[i] = temp[1];
}
// Place each info in the HTML form
$(".form-panel").find("input").each(function(index){
$(this).val( loadedTextSplitted[index] );
});
}); // End of .load callback
});
I used and hidden div
, in order to load the .txt file content, which I gave the "hiddenFileLoad" id
. 为了加载.txt文件的内容,我使用了hidden
div
,并为其指定了“ hiddenFileLoad” id
。
I made absolutely no change to your HTML (except the hidden div add) and I used your txt file content. 我对您的HTML几乎没有任何更改(隐藏的div add除外),并且使用了您的txt文件内容。
I assume you know how to save to file... I didn't make the save button to work. 我假设您知道如何保存到文件...我没有使“保存”按钮起作用。
Here is a live example on my server. 这是我服务器上的一个实时示例 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.