"Cannot read property 'addEventListener' of null" error in javascript -


i have function saves text txt file. works on own (when have simple html , js file), when add program throws error:

cannot read property 'addeventlistener' of null

(function(view) {     "use strict";     var document = view.document,      $ = function(id) {         return document.getelementbyid(id);     },      session = view.sessionstorage     // url when necessary in case blob.js hasn't defined yet     , get_blob = function() {         return view.blob;     }      text = "slavik's text";     save_file = $('savefile');      text_filename = "filename.txt";      documemt.getelementbyid('savefile').addeventlistener("submit", function(event) {         event.preventdefault();         var bb = get_blob();         saveas(             new bb(                 [text.value]                 , {type: "text/plain;charset=" + document.characterset}             )             , (text_filename.value) + ".txt"         );     }, false);      view.addeventlistener("unload", function() {         session.text = text.value;         session.text_filename = text_filename.value;     }, false); }(self)); 

here's html part:

<div id="leftcolumn">     <ul>         <li><a href="#" onclick="vaucherentry(); return false; showvauchers()">vaucher entry</a></li>         <li><a href="#" onclick="settings(); return false;">settings</a></li>         <li><a href="#" onclick="about(); return false;">about</a></li>         <!--<button type="submit" onclick="savefile()" id='savefile'>save file</button>-->          <form id="savefile">             <input type="submit" value="save file"/>         </form>     </ul> </div> 

i've updated code looks clearer, removed typo errors, not throwing error now.

i created function saveas, because needed in logic , missing, check differences code , fix it.

(function(view) {     "use strict";     var saveas = function(param1, param2, param3) {         console.log('you should params:');         console.log(param1, param2);                 },         document = view.document,          $ = function(id) {             return document.getelementbyid(id);         },          session = view.sessionstorage,         // url when necessary in case blob.js hasn't defined yet         get_blob = function() {             return view.blob;         },         text = "slavik's text",         save_file = $('savefile'),         text_filename = "filename.txt";      document.getelementbyid('savefile').addeventlistener("submit", function(event) {         event.preventdefault();         var bb = get_blob();         saveas(new bb([text], {type: "text/plain;charset=" + document.characterset }), text_filename);     }, false);      document.addeventlistener("unload", function() {         session.text = text.value;         session.text_filename = text_filename.value;     }, false); }(self)); 

fiddle


Comments

Popular posts from this blog

Java 3D LWJGL collision -

spring - SubProtocolWebSocketHandler - No handlers -

methods - python can't use function in submodule -