javascript - is this valid js oop? -


i wondering if okay put html dom references in js oop. although there many js oop tutorials online, haven't seen similar referring to. code below referring to.

var form = {   fname : document.getelementbyid("fname").value; }; 

say, example document.getelementbyid("fname").value textbox value of "jacob". form.fname = "jacob"?

is okay do? common practice do?

i not sure you're trying accomplish here. if need retrieve value in input field, 1 time, ever, ought fine. if you're expecting value of form.fname continually update when input value changes, you're not going see happen. you'd either need handler tied change event of input, or you'd need more this:

var form = {   fname: function () {     return document.getelementbyid('fname').value;   } };  // retrieving form.fname() 

note have invoke fname function now, can't refer form.fname.

if don't want ever have retype things ever, this:

var fields = ['fname', 'lname', 'city', 'state']; var form = {}; (var = 0, j = fields.length; < j; ++i) {   form[fields[i]] = function () {     return document.getelementbyid(fields[i]).value;   } } 

you'll have little bit more careful if add things dropdown lists form, because .value isn't helpful, don't retype names if 1 changes.

and, if want fancy it, don't have type names when values:

for (var = 0, j = fields.length; < j; ++i) {   console.log(form[fields[i]]()) } 

Comments

Popular posts from this blog

c# - SVN Error : "svnadmin: E205000: Too many arguments" -

c# - Copy ObservableCollection to another ObservableCollection -

All overlapping substrings matching a java regex -