1

JSP ページにアクセスしています。この JSP ページには、Jquery + Scriplets + いくつかの JSP タグ (div、input、form など) + Java Script があります。

この JSP ページは、ユーザーからの入力としてユーザー名を受け取ります。ユーザーがユーザー名を入力せずに単に送信ボタンを押すと、ページが更新されてエラー メッセージがスローされます。ページが更新され、同じ URL にヒットします (エラー メッセージは新しいページに表示されません)。

ユーザーが [送信] ボタンを押してエラー メッセージがスローされる過程で、Chrome ブラウザーは JSP ページ内の他の DIV 要素も一瞬レンダリングし、目的のエラー メッセージをユーザーにスローします。

同じページにアクセスしたときに Chrome ブラウザが JSP の他の要素 (div、input など) をレンダリングすると、他の要素の画像がユーザーに表示されます。これは IE と FF では発生しません。

Chromeでこれを回避するにはどうすればよいですか?

@Alfasin: 以下の JSP コードを添付しました。他に詳細が必要な場合はお知らせください。

<html>
<head>
<script type="text/javascript" src="/static-files/scripts/jquery-1.6.2.js"></script>
<script type="text/javascript" src="/static-files/scripts/tooltip.js"></script>
<script type="text/javascript" src="/static-files/scripts/jquery-ui.min.js"></script>
<link href="/static-files/css/jquery-ui-rev.css" type="text/css" rel="stylesheet"/>
<%@page import="javax.servlet.http.Cookie"%>
<%
        String visitingCookie = "AUTHCookie";
        String urlCookie = "URLCookie";
    String movieCookieName="movieCookie";
        String displayOnlyPwd = "false";
        Cookie[] cookielist = request.getCookies();
        if(cookielist != null)
          {
              for(int i = 0; i<cookielist.length; i++)
               {
                  Cookie cookie = cookielist[i];
                  if(cookie.getName().contains(visitingCookie) && 
!cookie.getValue().equals(""))
                    {
                          displayOnlyPwd = "true";
                          request.setAttribute("AUTHCookie",cookie.getValue());
                          request.setAttribute("displayOnlyPwd",displayOnlyPwd);
                          break;
                   }
              }
        if(displayOnlyPwd.contains("false"))
        {
            request.setAttribute("displayOnlyPwd",displayOnlyPwd);
        }
       }
    else{
        displayOnlyPwd = "false";
        request.setAttribute("displayOnlyPwd",displayOnlyPwd);
    }
%>
<script type="text/javascript">
$(function() {
    $("#toopt a").tooltip({
    bodyHandler: function() {
        return $($(this).attr("href")).html();
    },
 });
   });

function delete_cookie ( cookie_name )
{
  var cookie_date = new Date ( );  
  cookie_date.setTime ( cookie_date.getTime() - 1 );
  document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
}

function checkpassword() 
{
var checkPassword=document.getElementById("password").value;
var counter=0;
var errMsg=" ";
var errMsg1=" ";

    if(checkPassword.length==0)
        {

         errMsg+="Please enter a valid Password.";
                     document.writeln("<form name=\"errForm\" method=\"POST\" action=\"http://myDomain/web/portal/home/-/portal/login?_58_redirect=%2Fweb%2Fportal%2Flogout\">");
         document.writeln("<input type=\"hidden\" name=\"errMsg\" value=\"" + errMsg + "\">");
         document.writeln("</form>");
         document.errForm.submit(); 
         return false;
            }

}
function enableDisableForm(myVar)
{
if(myVar == "true")
{
$(document).ready(function()
            {
            $("#disableDivForm").dialog({
         autoOpen:true,
     position:'center',
        height:167,
        width: 472,
        modal: true

            });
            });



var div1 = document.getElementById("enableDivForm");
div1.style.display = "none";


}
else
{


var div2 = document.getElementById("disableDivForm");
div2.style.display = "none";
 }
}
</script>
</head>

ここにコードの 50% を貼り付けました。あと 50% です。完全なコードを貼り付ける必要がありますか?

よろしく、

4

1 に答える 1

1

次の属性で本文をアップロードします。
"style= display: none;"

ページのアップロードが完了した後でのみ (jQuery を使用している場合は、ready 関数の最後のコマンドとして)、次のことを行います。

$("#body).show();
于 2012-10-24T15:25:20.007 に答える