2016-06-11 1 views
0

У меня есть страница, содержащая поля формы с меню. при нажатии кнопки поля формы должны быть проверены, а ошибки должны отображаться в строке таблицы в окне Modal.Javascript: ReInitialize Global Variable без обновления страницы

Я объявила глобальную переменную для захвата ошибок в разных областях. Глобальная переменная является строкой, и ошибка добавляется как строки, как показано ниже.

Сначала я инициализирую глобальную переменную var gErrorTableRow = "";

Эта же переменная продолжает получать добавление к строке таблицы на основе ошибок конкретного имени поля, как показано ниже.

gErrorTableRow += '<tr><td>'+sFieldName+'</td><td>Enter Non Zero Value</td></tr>'; 

строка таблицы должна отображаться в окне Modal при нажатии кнопки.

Но переменная gErrorTableRow получает добавление с ошибками снова и снова даже после инициализации переменной if gErrorTableRow = ""; после показа модального окна., при нажатии кнопки.

Как инициализировать эту переменную gErrorTableRow без обновления страницы.

Я повторно отредактировал, основываясь на комментариях, надеюсь, что теперь я понятен.

+0

просто присвойте новое значение переменной внутри присоединенного обработчика событий ... –

+2

Что с этим jQuery? – Azamantes

+0

Я думаю, возможно, нам не хватает вопроса. Прочитайте [* Как задать хороший вопрос?] (/ Help/how-to-ask) и посмотрите, можете ли вы изменить вопрос, чтобы сделать его более понятным. Если, конечно, ответ ниже не отвечает на него. –

ответ

2

Вы просто запустить код присвоив ему новое значение, например:

gErrorTableRow = ""; 
0

Кажется, что проблема с + в этой следующей строке

Оператор + также может быть использован для добавления (конкатенация).

gErrorTableRow += '<tr><td>'+sFieldName+'</td><td>Enter Non Zero Value</td></tr>'; 

Вы можете просто попробовать на

gErrorTableRow = '<tr><td>'+sFieldName+'</td><td>Enter Non Zero Value</td></tr>'; 
+0

Я хочу, чтобы переменная gErrorTableRow получала добавление с информацией об ошибках различных типов данных формы. Мне нравится повторно инициализировать эту переменную, как только ошибка отображается в модальном окне. проблема i сталкивается с этим утверждением gErrorTableRow = ""; или gErrorTableRow = null не получает переменную повторно инициализированную. – SKay

0

Вместо глобальной переменной, добавьте ошибки в их контейнер непосредственно. Когда пользователь нажимает кнопку, пуст контейнер и снова вставляет все ошибки проверки.

Что-то вроде этого:

function onButtonClick() { 
    var errorContainer = $('#error-container'); 
    $(errorContainer).empty(); 
    var errors = validateInput(); 
    $.each(errors, function (index, error) { 
     var row = $(document.createElement('tr')); 
     var fName = $(document.createElement('td')); 
     $(fName).text(sFieldName); 
     var eText= $(document.createElement('td')); 
     $(eText).text(error.Text); 
     $(row).append(fName); 
     $(row).append(eText); 
     $(errorContainer).append(row); 
    }); 
} 

Приведенный выше код предполагает, что у вас есть метод для проверки ввода и возвращает коллекцию ошибок.