驗證碼無法改變的問題(驗證碼看不清,換一個,卻不起作用)

頁面代碼如下:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>無標題頁</title>
<link href="../../css/style.css" rel="stylesheet" type="text/css" />
<script language="javascript">
function ChangeValidCode()
{
  document.getElementById("IMG1").src='../../Components/ValiadCode1.aspx';
}

</script>
</head>
<body>
<form id="form1" runat="server">
<div>
  <table width="267" border="0" align="center" cellpadding="0" cellspacing="2" bgcolor="#FFFFFF" height="145">        
        <tr>
          <td style="width: 69px"><div align="right">用戶名:&nbsp;</div></td>
          <td>
            <input id="tbUserCode" type="text"  runat="server" maxlength="36" class="inputBlur" onblur="this.className='inputBlur'" onfocus="this.className='inputFocus'" style="width:140px;  height:17px;"/>
                  <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="*"
                      ControlToValidate="tbUserCode"></asp:RequiredFieldValidator>
          </td>
        </tr>
        <tr>
          <td style="width: 69px"><div align="right">密 碼:&nbsp;</div></td>
          <td><input id="tbUserPwd" type="password" runat="server" maxlength="10" class="inputBlur" onblur="this.className='inputBlur'" onfocus="this.className='inputFocus'" style="width:140px;  height:17px;"/>
                  <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="*" ControlToValidate="tbUserPwd"></asp:RequiredFieldValidator></td>
        </tr>
        <tr>
          <td style="width: 69px"><div align="right">驗證碼:&nbsp;</div></td>
          <td><input id="tbValidCode" type="text" maxlength="4" runat="server" class="inputBlur" onblur="this.className='inputBlur'" onfocus="this.className='inputFocus'" style="width:43px;  height:17px;"/>
                  <img src="../../Components/ValiadCode1.aspx" name="IMG1" border="0" align="middle" id="IMG1"   runat="server" />&nbsp;<a href="javascript:ChangeValidCode();" title="看不清?點擊更換顯示驗證碼">看不清?</a>
                  <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="*" ControlToValidate="tbValidCode"></asp:RequiredFieldValidator></td>
        </tr>
        <tr>
          <td colspan="2" align="center" height="33">
              <input id="ibtnLogin" type="submit" runat="server" value="登 錄" onserverclick="ibtnLogin_ServerClick" class="btn_L1" onMouseOver="this.className='btn_L2'" onMouseOut="this.className='btn_L1'"/>              
              &nbsp;&nbsp;&nbsp;<input id="Button1" type="reset" runat="server" value="取 消"  class="btn_L1" onMouseOver="this.className='btn_L2'" onMouseOut="this.className='btn_L1'" />                
          </td>
        </tr>
        <tr id="trError">
          <td colspan="2" align="center">
              <asp:Label ID="lblCodeError" runat="server" Text="驗證碼錯誤!" ForeColor="red" Visible="false"></asp:Label>
              <asp:Label ID="lblPwdError" runat="server" Text="用戶名或密碼錯誤!" ForeColor="red" Visible="false"></asp:Label></td>
        </tr>
      </table>
</div>
</form>
</body>
</html>
在點擊“看不清”切換驗證碼時,驗證碼卻不變化。
查找資料原來是頁面緩存引起的。
解決辦法:在url後邊在加上一段話來改變提交時間。
例如 :
var newUrl = "原url"+"&timeStamp="+new Date().getTime();
或者
在IE設置中"檢查所有網頁的較新版本"構選"每次訪問網頁時檢查"即可以達到目的了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章