Нет реальной проблемы с этим, за исключением того, что глобальные переменные являются злом.;)
Однако, если вы все равно используете jQuery, на мой взгляд, гораздо приятнее сохранить его в элементе, используя data()
:
function editComments() {
$('#commentsTextBox').data("oldValue", $('#commentsTextBox').val());
$('#commentsTextBox').removeAttr("readonly", "readonly");
}
function cancelEditComments() {
var oldValue = $('#commentsTextBox').data("oldValue");
$('#commentsTextBox').val(oldValue );
$('#commentsTextBox').attr("readonly", "readonly");
}
Пока вы держите его внутри скрипта, и с элементом ничего не делается, это должно работать нормально.