javascript - 在 jquery 追加后或添加 innerHTML 后重绘页面

标签 javascript jquery html css ajax

我正在为现有代码添加验证。 View 是使用 ajax 加载的,因为页面上有多个选项卡。通过返回一个 JSON 对象,我让验证本身开始工作。显示的选项卡取决于 JSON 对象是否包含错误。如果有错误,则不会加载新页面,并且会在页面顶部显示验证错误。

问题是错误消息将页面内容向下推,但不会扩展其容器(它们没有固定的高度),因此它会超出其容器。我认为这是因为没有重绘整个页面,我该如何解决这个问题?我试过使用 innerHTML 而不是使用 jQuery 附加,但这没有什么区别,页面仍然失真。

$.ajax({
type: "POST",
url: actionURL,
datatype: "json",
data: this.GetParams(),
success: function (data) {
if (data.Error) {
//$("#validationErrors").empty().append('<ul>');
//for(var i=0; i<data.ErrorMessages.length; i++) {
//$('#validationErrors').append('<li>' + data.ErrorMessages[i] + '</li>');
//}
//$("#validationErrors").append('</ul>');
document.getElementById('validationErrors').innerHTML = '<ul><li>Username is required</li></ul>'
}
else {
//load another page  
}
});

最佳答案

解决方法是获取高度并为其添加常量。不是我正在寻找的解决方案,但它现在有效。不知道是不是IE7的问题,其他浏览器没试过。

$('.container).height($('.container).height() + 1)

关于javascript - 在 jquery 追加后或添加 innerHTML 后重绘页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11124609/

相关文章:

javascript - jqueryUI 可排序列表项内的 iframe 内容可编辑

jquery - 如何使用 jQuery 和 CSS 调整大小

javascript - 单击 anchor 标记后将单选按钮标记为选中

javascript - jQuery 按数据位置或 id 对表 tr 进行排序

javascript - 如何停止具有混合高度、一列或两列 Bootstrap Carousel 元素的弹跳响应页面?

jquery - 当我在显示 :none and display: inline-block 之间添加切换时,CSS3 过渡不起作用

jquery - 使用 jQuery 查找带有文本的元素

html - 样式因 HTML 标记组织而异

jquery - 单选按钮未被验证

javascript - 在 Justified Gallery 中使用 Magnific Popup