1

既存のコードに検証を追加しています。ページには複数のタブがあるため、ビューはajaxを使用してロードされます。JSONオブジェクトを返すことで、検証自体が機能するようになりました。表示されるタブは、JSONオブジェクトにエラーが含まれているかどうかによって異なります。エラーがある場合、新しいページはロードされず、検証エラーがページの上部に表示されます。

問題は、エラーメッセージがページのコンテンツを押し下げますが、コンテナを拡張しないため(高さが固定されていないため)、コンテナを超えて拡張されることです。ページ全体が再描画されていないためだと思いますが、どうすれば修正できますか?jQueryを使用して追加する代わりにinnerHTMLを使用しようとしましたが、違いはなく、ページはまだ歪んでいます。

$.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  
}
});
4

1 に答える 1

0

回避策は、高さを取得し、それに定数を追加することです。私が探していた解決策ではありませんが、今のところは機能します。これはIE7の問題にすぎないのではないかと思いますが、他のブラウザでは試していません。

$('.container).height($('.container).height() + 1)
于 2012-06-20T18:55:55.460 に答える