我有一个包含带菜单的表单字段的页面。单击按钮时,应验证表单字段,并且错误应显示在模态窗口的一行表中。
我已经声明了一个全局变量来捕获不同字段的错误。全局变量是一个字符串,错误被添加为行,如下所示
首先我初始化一个全局变量var gErrorTableRow ="&#34 ;;
相同的变量会根据特定字段名称的错误继续附加表格行,如下所示。
gErrorTableRow += '<tr><td>'+sFieldName+'</td><td>Enter Non Zero Value</td></tr>';
在单击按钮时,表格行将显示在“模态”窗口中。
但是变量gErrorTableRow
即使在我重新初始化if变量&#39; gErrorTableRow =&#34;&#34;之后也会一次又一次地附加错误。 ;&#39;在模态窗口显示之后,单击按钮。
如何在不刷新页面的情况下重新初始化此gErrorTableRow
变量。
我根据评论进行了编辑,希望我现在很清楚。
答案 0 :(得分:2)
您只需运行代码,为其指定一个新值,例如:
gErrorTableRow = "";
答案 1 :(得分: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>';
答案 2 :(得分: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);
});
}
上面的代码假定您有一个验证输入的方法,并且它返回一组错误。