Странная проблема веб-страницы в iE8 ... Возможно, JavaScript - PullRequest
0 голосов
/ 12 ноября 2010

У меня есть следующая веб-страница, которая искажена в IE, но которая проверяет, и я не могу найти никаких проблем с ... Вот ссылка на страницу , которая отлично выглядит в FF, Safari,chrome, но это неправильно в IE8.

Я также получаю эту ошибку в Chrome: «Uncaught TypeError: Невозможно вызвать метод 'focus' при пустой загрузке (анонимная функция)".

Любые предложения были бы хорошими - код выглядит следующим образом, и используемые файлы включения появляются на других страницах, не вызывая никаких проблем:

<!--#include virtual="/System/Startup_FranchiseClient.asp"-->
<%
EnsurePageIsHTTPS

Dim blnShowResults : blnShowResults = False
Dim SQLCommand
Dim objConn
Dim rsUser
Dim rsEmail
Dim strTempPassword
Set objConn = Server.CreateObject("ADODB.Connection")
Set rsUser = Server.CreateObject("ADODB.RecordSet")
Set rsEmail = Server.CreateObject("ADODB.RecordSet")
Dim strPassword_Encrypted
Dim objEncrypt : Set objEncrypt = New Encrypt_MD5

If Request.Form("ForgotPassword") = "1" then
    SQLCommand = "SELECT * FROM Clients WHERE EmailAddress = '" & CleanSQLText(Request.Form("strUsername")) & "'"
    objConn.Open strConn
    rsUser.Open SQLCommand, objConn, adOpenKeySet, adLockOptimistic
    if rsUser.RecordCount <> 1 then
        strSecurity_LoginError = "Sorry, your details could not be found.  Please check your email address and try again.<br>"
    Else
        strTempPassword = NewGUID()
        strTempPassword = Mid(strTempPassword, 2, 8)
        strPassword_Encrypted = objEncrypt.EncryptMD5(strTempPassword)
        rsUser("ResetPasswordOnNextLogin") = True
        rsUser("Password") = strPassword_Encrypted
        rsUser.Update
        blnShowResults = True
        SQLCommand = "SELECT '" & CleanSQLText(strTempPassword) & "' AS NewPassword, EmailAddress FROM uvw_EmailContent_ForgotPassword WHERE EmailAddress = '" & CleanSQLText(Request.Form("strUsername")) & "'"
        rsEmail.Open SQLCommand, objConn, adOpenStatic, adLockReadOnly
        SendPublicFranchiseEmailTemplate GetSiteConfig("Public_AutoEmailsFrom"), rsEmail("EmailAddress"), "Inside Guides Password Assistance", "EmailTemplate_ForgotPassword", True, rsEmail
        blnShowResults = True
    End if
    rsUser.Close
    Set rsUser = Nothing
End if
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Inside-Guides.co.uk - Advertiser Admin</title>
<!--#include virtual="/Assets/Templates/Public/Franchise/HeadCSS.asp"-->
</head>
<body class="advertisers" onload="javascript:document.getElementById('strUsername').focus();">
<!--#include virtual="/Assets/Templates/Public/Franchise/TemplateStartPages.asp"-->
<h1>Forgot Password</h1>
<%
If blnShowResults = False then
    %>
    <div class="bg MainCopy">
     <p>Please enter your email address below and we will email you your password:</p><br />
    <p class="ErrorText"><% = strSecurity_LoginError %></p>  
    <form name="LoginForm" method="post" action="ForgotPassword.asp">
      <input type="hidden" name="ForgotPassword" value="1" />
        <table>
            <tr>
                <th align="left" valign="middle" style="width:110px;">
                    Email Address:
                </th>
                <td align="left" valign="middle">
                    <input type="text" name="strUsername" value="" />
                </td>
                <td align="right" valign="middle">
                    <input type="submit" class="submit" value="Send Password" />
                </td>
                </tr>
          </table>
    </form>
</div>
    <%
Else
    %>
    <%
    If Session("Role_Developer_DebugUser") = True then
        %>
        <h1><font color="red"><% = strTempPassword %></font></h1>
        <%
    End if
    %>
    <span class="MainCopy">A new password has been emailed to you. Please check your email and use the temporary password provided to access your account<br /> via the link provided. &nbsp; You can then choose a new password.</span>
    <%
End if
%>

<!--#include virtual="/Assets/Templates/Public/Franchise/TemplateEnd.asp"-->
</body>
</html>
<!--#include virtual="/System/Shutdown.asp"-->

Ответы [ 2 ]

2 голосов
/ 12 ноября 2010

Вы правы, это Javascript. У вас нет элемента с идентификатором strUsername. Добавьте id = "strUsername" к элементу ввода, на который вы хотите сфокусироваться.

<input type="text" id="strUsername" name="strUsername" value="" />
0 голосов
/ 12 ноября 2010
document.getElementById('strUsername').focus();

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

<input type="text" id="strUsername" name="strUsername" value="" />

Так же, как сообщение об ошибке говорит вам, он не может найти элемент по этому идентификатору, так что функция возвращает ноль, иВы не можете позвонить focus() по нулевой ссылке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...