Monday, June 3, 2024
 Popular · Latest · Hot · Upcoming
51
rated 0 times [  55] [ 4]  / answers: 1 / hits: 15340  / 12 Years ago, tue, november 27, 2012, 12:00:00

I wanted to try giving an output to a file using a Small screen on HTML. Everytime I click on the button I want the text in the file to be replaced. This is the code I wrote:



<head>
<meta http-equiv=Content-Type content=text/html; charset=utf-8 />
<title>This is Web App</title>
</head>
<script>
function createDoc()
{
var doc=document.open(answer.txt,replace);
var txt=<html><body>You clicked Allow</body></html>;
doc.write(txt);
doc.close();
}

function createDoc2()
{
var doc=document.open(answer.txt,replace);
var txt=<html><body>You clicked Deny</body></html>;
doc.write(txt);
doc.close();
}
</script>

<body>
<h1> This is the visitor at your house</h1>
<img src = ./images/chef.gif width=130 height=101 />
<br />
<button name=Yes type=button onclick=createDoc()>Allow! </button>
<button name=No type=button onclick=createDoc2()>Deny! </button>


</body>
</html>


I know it is not the correct way to do it but am trying to learn. Please help me and point out my mistakes and tell me how to correct them if possible. I know there might be plenty. I am just trying to teach myself at this point. Your help is much appreciated.


More From » html

 Answers
2

If you just want to download a file generated by your page, this question may help:



Download data url file



The idea is that you need to encode your data as base64 (not hard, modern browsers support btoa) and direct the browser to open it. If you trick it by giving the file a mime-type it doesn't know how to open (such as application/octet-steam), it will download the file instead of displaying it.



The problem with this solution is that you cannot name the file.



If you want to name the file, I'd POST the data to your webserver, write it to a file on the server, then do a window.open with the path to the file. This will allow you to download the file in question.



There's a draft in progress to allow Javascript to write to a file directly, but this file will be in a sandboxed location that users don't have direct access to. This is only for web-apps to store large amounts of data on the client. From your question, this is likely not what you want. Try one of the above solutions.


[#81782] Sunday, November 25, 2012, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
tyemathewj

Total Points: 484
Total Questions: 107
Total Answers: 111

Location: Equatorial Guinea
Member since Sun, Feb 14, 2021
3 Years ago
;