Is there any reason why I shouldn’t do something like the following (to avoid using a hidden field to store the temporary information)? I’m using jQuery syntax for brevity but it’s a general JavaScript question.
function editComments() {
window.currentComments = $('#commentsTextBox').val();
$('#commentsTextBox').removeAttr("readonly");
}
function cancelEditComments() {
$('#commentsTextBox').val(window.currentComments);
$('#commentsTextBox').attr("readonly", "readonly");
}
I know that globals are generally considered bad practice, but is there really any problem with doing the above?
Please don’t answer/comment with “globals variables are evil” unless you can give a reason/explanation.
There’s no real problem with this except that global variables are evil. 😉
However, if you are using jQuery anyway, in my opinion, a much nicer way is to store it in the element using
data():As long as you keep it inside the script, and nothing else gets done with the element, that should work fine.