開發環境:Struts2.0.11.1
問題描述:當點擊頁面鏈接時候,隨機出現以下對話框,Internet Explorer無法打開Internet站點http://localhost:8080/kmtcm/login.action 已終止操作
問題原因:頁面使用了
My97DatePicker這個日期控件,大概是在IE下載完了源文件但沒有加載完,這個時候用JS的DOM對象的AppdenChid和innerHTML就會出錯。我用FireFox試下,完全沒有問題。
解決方法使用其他日歷控件代替。
在此我替換使用的是jquery ui的日歷插件。
關于使用方法(轉自:
http://hi.baidu.com/fairywood/blog/item/638bee30e4d4649ea8018ec8.html):
JQuery 日期控件
2009-02-12 13:16
JQuery提供了很多控件, 例如用于選擇日期的日期控件(Date Picker)。這些控件并沒有隨Jquery的核心庫一并發布。而是作為一個叫做"JQuery UI"的子項目——或者叫做插件——的形式發布。
所以, 我們除了要在頁面中引用jquery的那個js文件外, 還需要在http://jqueryui.com/下載與我們使用JQuery對應版本的JQuery UI的程序包。
目前, 最新的JQuery版本是1.3。 與這個版本對應的JQuery UI版本是1.6rc6。
由于JQuery UI采取了顯示和功能分離的設計(皮膚, 或者叫”換膚“)。所以, 我們需要為日期控件附加樣式。JQuery UI最神奇的特點之一就是提供了一個網站來給我們修改控件的樣式:http://jqueryui.com/themeroller/。在這個頁面中, 將控件樣式調整滿意后, 點擊左側的"Download theme"按鈕。就可以把樣式下載下來了。現在, 下載的是JQuery UI1.6rc5版本所使用的樣式庫。如果您用的較低的1.5, 那么請注意在點擊”Download theme“按鈕后出現頁面的右側選擇相應的版本。不然, 不同版本的樣式是不兼容的。
將下載下來的zip包解開, 我們可以看到里面已經準備好我們要用jquery核心庫和JQuery UI的庫。首先, 我們把jquery-1.3.x.js復制到網站的js目錄下,jquery-ui-personalized-1.6rc6.min.js、i18n目錄、theme目錄復制到網站js/ui目錄下。
JQuery核心庫的安裝非常簡單, 我們把jquery.1.3.x.js文件引入頁面即可。一般來說, 我們會把這個js文件改名為jquery.js, 放到“/js"目錄下。
然后, 我們將jquery-ui-personalized-1.6rc6.min.js引入頁面。如果覺得它的文件名太長。可以直接改成jquery-ui.js或者其他比較短的名字。
最后, 引入分別引入js/ui/theme/ui.all.css樣式表以及/js/ui/i18n/ui.datepicker-zh-CN.js腳本文件到頁面中。就完成了中文日期控件的安裝。如果我們需要其他語言的空間, 請更換ui.datepicker-zh-CN.js文件。在js/ui/i18n中有很多其他語言的腳本。
終于, 我們可以在頁面中,給某個輸入框綁定一個日期控件了。例如, 我們的頁面中有這么一個input:
<input type="text" id="birthday" name="birthday"/>
那么, 我們可以在$(document).ready()的事件函數(不懂的可以參見Jquery核心庫的說明或者網上的相關資料)中寫:$("birthday").datepicker();
現在打開頁面, 如果不出意外。當我們點擊這個文本框的時候就可以出現一個很炫的日期控件了。
現在修改一下:$("#bithday").attr("readonly", "true").datepicker(); 這樣一來,用戶就不能手工輸入, 而只能通過控件選擇日期了。
上面簡單介紹了一下日期控件的使用方法。其實, 他們的可定制性是非常高的。今天我們只是使用了它們最簡單最基本的功能。
|