千山鸟飞绝 万径人踪灭
勤练内功,不断实践招数。争取早日成为武林高手

2009年9月22日

在实现程序的修改模块时,要在页面端检查用户是否修改过数据,以便提醒用户及时保存修改后的数据。
实现要求:
  判断用户是否修改了输入的内容,要能判断input中的checkbox,text,radio等,不知道会多少个input,也不知道input的ID和name,要在客户端判断是否修改,不能产

生提交。还要同时满足IE和firefox两种环境。也要支持master和content页的使用。
解决方案;
  处理思路:在页面加载时记录所有的input的值或状态,如果要求在用户进行修改操作时立即调整控件状态,则在数据区div上的onclick和onkeypress事件里调用检查数据

是否改变的函数,并设置相应控件的状态(用ha_setch())。如果是在提交或用户手动控制检查过程时,则在相应的操作事件中调用检查数据是否改变(例在button的onclick

()中使用ha_checkin()控制提交)。
   以下是实现代码
var ha_last=new Array;//定义一个全局的空对象,存放所有的初始值。
function ha_get()//读取初始值
{ var ha_input = document.getElementsByTagName("input");
for (var i=0;i<ha_input.length;i++)
{
if (ha_input[i].type=="password"){ ha_last.push(ha_input[i].value);}//根本页面需要设置type的值和对象属性
if (ha_input[i].type=="radio") {ha_last.push(ha_input[i].checked);}//要保证检查的范围是否准确
}
}
window.onload=ha_get;//绑定读取初始值的函数
function ha_checkin()//检查新的输入值和初始值是否相等。返回判断结果。true为没有发生修改,false为有修改。
{ var ha_now=new Array;
var ha_input = document.getElementsByTagName("input");
for (var i=0;i<ha_input.length;i++)
{
if (ha_input[i].type=="password"){ ha_now.push(ha_input[i].value);}//根本页面需要设置type的值和对象属性。
if (ha_input[i].type=="radio") {ha_now.push(ha_input[i].checked);}//也要保证和ha_get()中检查的标签相一致
}
if (ha_now.toString()==ha_last.toString())//没修改
{return true;}
else//有修改
{return false;}
}
function ha_setch(){//设置相应的控件状态
if (ha_checkin())//没有变化
   //改变控件的显示和功能状态
else//有变化
   //改变控件的显示和功能状态
}


做了适当的修改。最后在button里面onclick直接调用

 

     var ha_last=new Array;//定义一个全局的空对象,存放所有的初始值。
            function ha_get()//读取初始值
            {
                var ha_input = document.getElementsByTagName("input");
                ha_last.push($("#select").val());//采用jquery获取select 选择的值
                for (var i=0;i<ha_input.length;i++)
                {
                    if (ha_input[i].type=="text"){ ha_last.push(ha_input[i].value);}//根本页面需要设置type的值和对象属性
                }
            }
            window.onload=ha_get;//绑定读取初始值的函数
            function ha_checkin(action)//检查新的输入值和初始值是否相等。返回判断结果。true为没有发生修改,false为有修改。
            {
                     if(action=="update"){
                    var ha_now=new Array;
                    var ha_input = document.getElementsByTagName("input");
                    ha_now.push($("#select").val());
                   
                    for (var i=0;i<ha_input.length;i++)
                    {
                        if (ha_input[i].type=="text"){ ha_now.push(ha_input[i].value);}//根本页面需要设置type的值和对象属性。
                    }
                    if (ha_now.toString()==ha_last.toString())//没修改
                    {
                        alert("没有修改");
                        return false;
                    }
                    else//有修改
                    {
                        //  return true;
                    }
                }
            }

 


 
        

 

 

posted @ 2009-11-23 17:36 笑口常开、财源滚滚来! 阅读(529) | 评论 (0)编辑 收藏
 

来自:http://www.javaeye.com/topic/304818

jQuery 是我最喜欢的一个Javascript框架,下表中包含了240+可以为jQuery爱好者们使用的插件。我断定一定还有下表没有包括的,如果你还知道其他的好东西,欢迎与大家分享。

文件上传

Ajax File Upload
jQUploader
Multiple File Upload plugin
jQuery File Style
Styling an input type file
Progress Bar Plugin

表单验证

jQuery Validation
Auto Help
Simple jQuery form validation
jQuery XAV - form validations
jQuery AlphaNumeric
Masked Input
TypeWatch Plugin
Text limiter for form fields
Ajax Username Check with jQuery

Form - Select Box stuff

jQuery Combobox
jQuery controlled dependent (or Cascadign) Select List
Multiple Selects
Select box manipulation
Select Combo Plugin
jQuery - LinkedSelect
Auto-populate multiple select boxes
Choose Plugin (Select Replacement)

表单基本、输入与、复选框等

jQuery Form Plugin
jQuery-Form
jLook Nice Forms
jNice
Ping Plugin
Toggle Form Text
ToggleVal
jQuery Field Plugin
jQuery Form’n Field plugin
jQuery Checkbox manipulation
jTagging
jQuery labelcheck
Overlabel
3 state radio buttons
ShiftCheckbox jQuery Plugin
Watermark Input
jQuery Checkbox (checkboxes with imags)
jQuery SpinButton Control
jQuery Ajax Form Builder
jQuery Focus Fields
jQuery Time Entry

时间,日期和颜色选取器

jQuery UI Datepicker
jQuery date picker plugin
jQuery Time Picker
Time Picker
ClickPick
TimePicker
Farbtastic jQuery Color Picker Plugin
Color Picker by intelliance.fr

投票插件

jQuery Star Rating Plugin
jQuery Star Rater
Content rater with asp.net, ajax and jQuery
Half-Star Rating Plugin

搜索插件

Autocomplete Box
jQuery Suggest
jQuery Autocomplete
jQuery Autocomplete Mod
jQuery Autocomplete by AjaxDaddy
jQuery Autocomplete Plugin with HTML formatting
jQuery Autocompleter
AutoCompleter (Tutorial with PHP&MySQL)
quick Search jQuery Plugin

编辑器

jTagEditor
WYMeditor
jQuery jFrame
Jeditable - edit in place plugin for jQuery
jQuery editable
jQuery Disable Text Select Plugin
Edit in Place with Ajax using jQuery
jQuery Plugin - Another In-Place Editor
TableEditor
tEditable - in place table editing for jQuery

声音,视频,Flash, SVG等

jMedia - accessible multi-media embedding
JBEdit - Ajax online Video Editor
jQuery MP3 Plugin
jQuery Media Plugin
jQuery Flash Plugin
Embed QuickTime
SVG Integration
jQuery Multimedia Portfolio
jQuery YouTube Plugin

图片

ThickBox
jQuery lightBox plugin
jQuery FancyBox
jQuery Multimedia Portfolio
jQuery Image Strip
jQuery slideViewer
jQuery jqGalScroll 2.0
jQuery - jqGalViewII
jQuery - jqGalViewIII
jQuery Photo Slider
jQuery Thumbs - easily create thumbnails
jQuery jQIR Image Replacement
jCarousel Lite
jQPanView
jCarousel
Interface Imagebox
Image Gallery using jQuery, Interface & Reflactions
simple jQuery Gallery
jQuery Gallery Module
EO Gallery
jQuery ScrollShow
jQuery Cycle Plugin
jQuery Flickr
jQuery Lazy Load Images Plugin
Zoomi - Zoomable Thumbnails
jQuery Crop - crop any image on the fly
Image Reflection

Google Map

jQuery Plugin googlemaps
jMaps jQuery Maps Framework
jQmaps
jQuery & Google Maps
jQuery Maps Interface forr Google and Yahoo maps
jQuery J Maps - by Tane Piper

游戏

Tetris with jQuery
jQuery Chess
Mad Libs Word Game
jQuery Puzzle
jQuery Solar System (not a game but awesome jQuery Stuff)
jQuery Memory

表格

UI/Tablesorter
jQuery ingrid
jQuery Grid Plugin
Table Filter - awesome!
TableEditor
jQuery Tree Tables
Expandable “Detail” Table Rows
Sortable Table ColdFusion Costum Tag with jQuery UI
jQuery Bubble
TableSorter
Scrollable HTML Table
jQuery column Manager Plugin
jQuery tableHover Plugin
jQuery columnHover Plugin
jQuery Grid
TableSorter plugin for jQuery
tEditable - in place table editing for jQuery
jQuery charToTable Plugin
jQuery Grid Column Sizing
jQuery Grid Row Sizing

图表

Flot
jQuery Wizard Plugin
jQuery Chart Plugin
Bar Chart
Accessible Charts using Canvas and jQuery

边框,圆角,背景

jQuery Corner
jQuery Curvy Corner
Nifty jQuery Corner
Transparent Corners
jQuery Corner Gallery
Gradient Plugin

文本和链接

jQuery Spoiler plugin
Text Highlighting
Disable Text Select Plugin
jQuery Newsticker
Auto line-height Plugin
Textgrad - a text gradient plugin
LinkLook - a link thumbnail preview
pager jQuery Plugin
shortKeys jQuery Plugin
jQuery Biggerlink
jQuery Ajax Link Checker
Chili jQuery code highlighter plugin
jScroller

鼠标提示

jQuery Plugin - Tooltip
jTip - The jQuery Tool Tip
clueTip
BetterTip
Flash Tooltips using jQuery
ToolTip

菜单,导航栏

jQuery Tabs Plugin - awesome! [demo nested tabs ]
another jQuery nested Tab Set example (based on jQuery Tabs Plugin)
jQuery idTabs
jdMenu - Hierarchical Menu Plugin for jQuery
jQuery SuckerFish Style
jQuery Plugin Treeview
treeView Basic
FastFind Menu
Sliding Menu
Lava Lamp jQuery Menu
jQuery iconDock
jVariations Control Panel
ContextMenu plugin
clickMenu
CSS Dock Menu
jQuery Pop-up Menu Tutorial
Sliding Menu

手风琴,幻灯片等效果

jQuery Plugin Accordion
jQuery Accordion Plugin Horizontal Way
haccordion - a simple horizontal accordion plugin for jQuery
Horizontal Accordion by portalzine.de
HoverAccordion
Accordion Example from fmarcia.info
jQuery Accordion Example
jQuery Demo - Expandable Sidebar Menu
Sliding Panels for jQuery
jQuery ToggleElements
Coda Slider
jCarousel
Accesible News Slider Plugin
Showing and Hiding code Examples
jQuery Easing Plugin
jQuery Portlets
AutoScroll
Innerfade
CodaSlider

拖拽

UI/Draggables
EasyDrag jQuery Plugin
jQuery Portlets
jqDnR - drag, drop resize
Drag Demos

XML XSL JSON Feeds

XSLT Plugin
jQuery Ajax call and result XML parsing
xmlObjectifier - Converts XML DOM to JSON
jQuery XSL Transform
jQuery Taconite - multiple Dom updates
RSS/ATOM Feed Parser Plugin
jQuery Google Feed Plugin

浏览器

Wresize - IE Resize event Fix Plugin
jQuery ifixpng
jQuery pngFix
Link Scrubber - removes the dotted line onfocus from links
jQuery Perciformes - the entire suckerfish familly under one roof
Background Iframe
QinIE - for proper display of Q tags in IE
jQuery Accessibility Plugin
jQuery MouseWheel Plugin

对话框,确认窗口

jQuery Impromptu
jQuery Confirm Plugin
jqModal
SimpleModal

CSS

jQuery Style Switcher
JSS - Javascript StyleSheets
jQuery Rule - creation/manipulation of CSS Rules
jPrintArea

DOM, Ajax 和其他插件

FlyDOM
jQuery Dimenion Plugin
jQuery Loggin
Metadata - extract metadata from classes, attributes, elements
Super-tiny Client-Side Include Javascript jQuery Plugin
Undo Made Easy with Ajax
JHeartbeat - periodically poll the server
Lazy Load Plugin
Live Query
jQuery Timers
jQuery Share it - display social bookmarking icons
jQuery serverCookieJar
jQuery autoSave
jQuery Puffer
jQuery iFrame Plugin
Cookie Plugin for jQuery
jQuery Spy - awesome plugin
Effect Delay Trick
jQuick - a quick tag creator for jQuery
Metaobjects

elementReady

posted @ 2009-11-15 15:21 笑口常开、财源滚滚来! 阅读(434) | 评论 (0)编辑 收藏
 

starterkit.html

<!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>jQuery Starterkit</title>

<link rel="stylesheet" type="text/css" media="screen" href="style.css" />
<script type="text/javascript" src="http://www.css88.com/jquery-1.3.2/jquery-1.3.2.min.js"></script>
<script src="jquery.js" type="text/javascript"></script>
<script src="custom.js" type="text/javascript"></script>
<script src="jquery.tablesorter.js" type="text/javascript"></script>
<script src="jquery-latest.js" type="text/javascript"></script>
<script src="jquery.tablesorter.min.js" type="text/javascript"></script>
<script src="jquery.metadata.js" type="text/javascript"></script>
</head>
<body>

<!-- tablecode taken from tablesorter examples -->

<table class="tablesorter " cellspacing=1>
<thead>

 <tr>
  <th class="{sorter:'text'}">Email</th>
  <th>Id</th>
  <th>Phone</th>
  <th>Total</th>
  <th>Ip</th>

  <th class="{sorter:'procent'}">Url</th>
  <th>Time</th>
  <th>ISO Date</th>
  <th>UK Date</th>
 </tr>
</thead> 
<tbody>
 <tr>

  
 </tr>
  
 <tr>
  <td>henry@mountdev.net</td>

  <td>35889</td>
  <td>941-964-9543</td>
  <td>$2776.09</td>
  <td>119.232.182.142</td>
  <td>http://www.gmail.com</td>
  <td>3:54</td>

  <td>1974/1/19</td>
  <td>19/1/1974</td>
 </tr>
  
 <tr>
  <td>christian@reno.gov</td>
  <td>60021</td>

  <td>941-964-5617</td>

  <td>$2743.41</td>
  <td>167.209.64.181</td>
  <td>http://www.dotnet.ca</td>
  <td>10:58</td>
  <td>2000/3/25</td>

  <td>25/3/2000</td>

 </tr>
  
 <tr>
  <td>muffins@donuts.com</td>
  <td>17927</td>
  <td>941-964-9511</td>

  <td>$2998.18</td>
  <td>210.214.231.182</td>

  <td>http://google.se</td>
  <td>21:22</td>
  <td>1993/1/24</td>
  <td>24/1/1993</td>

 </tr>
  
 <tr>
  <td>muffins@reno.gov</td>

  <td>76375</td>
  <td>941-964-2757</td>
  <td>$1836.09</td>

  <td>220.222.93.171</td>
  <td>http://www.samba.org</td>
  <td>15:22</td>

  <td>1988/4/4</td>
  <td>4/4/1988</td>
 </tr>   
  <tr>
  <td>found@flexomat.com</td>

  <td>20953</td>
  <td>941-964-5544</td>
  <td>$575.42</td>
  <td>247.246.235.138</td>
  <td>http://gmail.com</td>
  <td>3:12</td>

  <td>1978/6/10</td>
  <td>10/6/1978</td>
 </tr>   

   
 <tr>
  <td>foo@reno.gov</td>
  <td>03603</td>
  <td>941-964-8942</td>

  <td>$1677.07</td>
  <td>176.96.162.192</td>

  <td>http://www.flexomat.com</td>
  <td>19:11</td>
  <td>1980/7/31</td>
  <td>31/7/1980</td>

 </tr>
  
 <tr>
  <td>found@flexomat.com</td>

  <td>84939</td>
  <td>941-964-7004</td>
  <td>$3916.83</td>

  <td>240.145.198.78</td>
  <td>http://www.fish.org</td>
  <td>1:29</td>

  <td>1980/8/26</td>
  <td>26/8/1980</td>
 </tr>
 
 <tr>
  <td>muffins@reno.gov</td>
  <td>95926</td>
  <td>941-964-147</td>

  <td>$3897.91</td>
  <td>105.85.121.209</td>

  <td>http://www.flexomat.com</td>
  <td>9:50</td>
  <td>2003/4/1</td>
  <td>1/4/2003</td>

 </tr>
   
    </tbody>
</table>

 

</body>
</html>


custom.js


jQuery(document).ready(function() {
 $.tablesorter.defaults.widgets=['zebra'];
 $.tablesorter.defaults.sortList=[[0,0]];
 $("table").tablesorter();
});

posted @ 2009-10-10 17:07 笑口常开、财源滚滚来! 阅读(804) | 评论 (0)编辑 收藏
 
starterkit.html

<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>jQuery Starterkit</title>

<link rel="stylesheet" type="text/css" media="screen" href="screen.css" />
<script type="text/javascript" src="http://www.css88.com/jquery-1.3.2/jquery-1.3.2.min.js"></script>
<script src="jquery.js" type="text/javascript"></script>
<script src="custom.js" type="text/javascript"></script>
<script src="jquery.tablesorter.js" type="text/javascript"></script>
<script src="jquery-latest.js" type="text/javascript"></script>
<script src="jquery.tablesorter.min.js" type="text/javascript"></script>
<script src="jquery.metadata.js" type="text/javascript"></script>
</head>


<body>

<table id="large" cellspacing="0">
<thead>

 <tr>
  <th>Email</th>
  <th>Id</th>
  <th>Phone</th>
  <th>Total</th>
  <th>Ip</th>

  <th>Url</th>
  <th>Time</th>
  <th>ISO Date</th>
  <th>UK Date</th>
 </tr>
</thead> 
<tbody>
 <tr>

  <td>devo@flexomat.com</td>
  <td>66672</td>
  <td>941-964-8535</td>
  <td>$2482.79</td>
  <td>172.78.200.124</td>

  <td>http://gmail.com</td>

  <td>15:10</td>
  <td>1988/12/14</td>
  <td>14/12/1988</td>
 </tr>
  
 <tr>
  <td>henry@mountdev.net</td>

  <td>35889</td>
  <td>941-964-9543</td>
  <td>$2776.09</td>
  <td>119.232.182.142</td>
  <td>http://www.gmail.com</td>
  <td>3:54</td>

  <td>1974/1/19</td>
  <td>19/1/1974</td>
 </tr>
  
 <tr>
  <td>christian@reno.gov</td>
  <td>60021</td>

  <td>941-964-5617</td>

  <td>$2743.41</td>
  <td>167.209.64.181</td>
  <td>http://www.dotnet.ca</td>
  <td>10:58</td>
  <td>2000/3/25</td>

  <td>25/3/2000</td>

 </tr>
  
 <tr>
  <td>muffins@donuts.com</td>
  <td>17927</td>
  <td>941-964-9511</td>

  <td>$2998.18</td>
  <td>210.214.231.182</td>

  <td>http://google.se</td>
  <td>21:22</td>
  <td>1993/1/24</td>
  <td>24/1/1993</td>

 </tr>
  
 <tr>
  <td>muffins@reno.gov</td>

  <td>76375</td>
  <td>941-964-2757</td>
  <td>$1836.09</td>

  <td>220.222.93.171</td>
  <td>http://www.samba.org</td>
  <td>15:22</td>

  <td>1988/4/4</td>
  <td>4/4/1988</td>
 </tr>

  
 <tr>
  <td>mendez@gmail.com</td>
  <td>45834</td>
  <td>941-964-2575</td>

  <td>$2805.46</td>
  <td>228.170.245.253</td>

  <td>http://flexomat.com</td>
  <td>11:31</td>
  <td>1975/12/12</td>
  <td>12/12/1975</td>

 </tr>
  
 <tr>

  <td>dev@gmail.com</td>
  <td>20022</td>
  <td>941-964-4967</td>
  <td>$3296.54</td>
  <td>175.248.70.240</td>

  <td>http://www.flexomat.com</td>

  <td>4:27</td>
  <td>2002/7/3</td>
  <td>3/7/2002</td>
 </tr>
  
 <tr>
  <td>foo@polyester.se</td>

  <td>55977</td>
  <td>941-964-745</td>
  <td>$2953.73</td>
  <td>222.114.227.156</td>
  <td>http://www.donuts.com</td>
  <td>23:49</td>

  <td>1977/8/4</td>
  <td>4/8/1977</td>
 </tr>
  
 <tr>
  <td>adam@aftonbladet.se</td>
  <td>38867</td>

  <td>941-964-6302</td>

  <td>$1949.27</td>
  <td>116.241.143.196</td>
  <td>http://flexomat.com</td>
  <td>23:35</td>
  <td>1995/7/27</td>

  <td>27/7/1995</td>

 </tr>
  
 <tr>
  <td>devo@donuts.com</td>
  <td>51426</td>
  <td>941-964-1234</td>

  <td>$1067.00</td>
  <td>88.96.149.82</td>

  <td>http://www.polyester.se</td>
  <td>15:17</td>
  <td>1986/1/5</td>
  <td>5/1/1986</td>

 </tr>
  
 <tr>
  <td>henry@samba.org</td>

  <td>40859</td>
  <td>941-964-4856</td>
  <td>$3401.19</td>

  <td>68.152.250.74</td>
  <td>http://www.flexomat.com</td>
  <td>4:36</td>

  <td>1990/3/7</td>
  <td>7/3/1990</td>
 </tr>

  
 <tr>
  <td>found@dotnet.ca</td>
  <td>23986</td>
  <td>941-964-2686</td>

  <td>$1393.52</td>
  <td>98.102.181.138</td>

  <td>http://lostnfound.org</td>
  <td>5:51</td>
  <td>1993/7/22</td>
  <td>22/7/1993</td>

 </tr>
  
 <tr>

  <td>carl@fish.org</td>
  <td>73392</td>
  <td>941-964-5792</td>
  <td>$3876.04</td>
  <td>246.234.182.243</td>

  <td>http://www.google.se</td>

  <td>6:52</td>
  <td>1984/7/14</td>
  <td>14/7/1984</td>
 </tr>
  
 <tr>
  <td>found@mountdev.net</td>

  <td>03519</td>
  <td>941-964-1599</td>
  <td>$1176.48</td>
  <td>104.212.122.177</td>
  <td>http://donuts.com</td>
  <td>18:52</td>

  <td>2000/8/6</td>
  <td>6/8/2000</td>
 </tr>
  
 <tr>
  <td>lost@fish.org</td>
  <td>36628</td>

  <td>941-964-5975</td>

  <td>$822.23</td>
  <td>153.63.68.208</td>
  <td>http://www.gmail.com</td>
  <td>7:53</td>
  <td>1994/7/14</td>

  <td>14/7/1994</td>

 </tr>
  
 <tr>
  <td>mendez@dotnet.ca</td>
  <td>90442</td>
  <td>941-964-1649</td>

  <td>$1975.72</td>
  <td>128.161.95.170</td>

  <td>http://reno.gov</td>
  <td>8:35</td>
  <td>1997/10/20</td>
  <td>20/10/1997</td>

 </tr>
  
 <tr>
  <td>carl@donuts.com</td>

  <td>00412</td>
  <td>941-964-6432</td>
  <td>$1834.77</td>

  <td>141.231.126.192</td>
  <td>http://gmail.com</td>
  <td>16:15</td>

  <td>1997/8/23</td>
  <td>23/8/1997</td>
 </tr>

  
 <tr>
  <td>foo@fish.org</td>
  <td>80653</td>
  <td>941-964-1022</td>

  <td>$260.26</td>
  <td>98.102.97.81</td>

  <td>http://samba.org</td>
  <td>8:27</td>
  <td>1991/11/24</td>
  <td>24/11/1991</td>

 </tr>
  
 <tr>

  <td>found@fish.org</td>
  <td>54635</td>
  <td>941-964-6439</td>
  <td>$1442.80</td>
  <td>108.133.231.154</td>

  <td>http://dotnet.ca</td>

  <td>6:47</td>
  <td>1977/7/12</td>
  <td>12/7/1977</td>
 </tr>
  
 <tr>
  <td>found@flexomat.com</td>

  <td>20953</td>
  <td>941-964-5544</td>
  <td>$575.42</td>
  <td>247.246.235.138</td>
  <td>http://gmail.com</td>
  <td>3:12</td>

  <td>1978/6/10</td>
  <td>10/6/1978</td>
 </tr>
  
 <tr>
  <td>lost@aftonbladet.se</td>
  <td>60810</td>

  <td>941-964-8406</td>

  <td>$1054.39</td>
  <td>130.80.125.154</td>
  <td>http://www.samba.org</td>
  <td>15:50</td>
  <td>1978/5/18</td>

  <td>18/5/1978</td>

 </tr>
  
 <tr>
  <td>carl@reno.gov</td>
  <td>22666</td>
  <td>941-964-104</td>

  <td>$373.59</td>
  <td>185.150.127.115</td>

  <td>http://www.lostnfound.org</td>
  <td>10:11</td>
  <td>1971/11/5</td>
  <td>5/11/1971</td>

 </tr>
  
 <tr>
  <td>carl@donuts.com</td>

  <td>82867</td>
  <td>941-964-1031</td>
  <td>$631.03</td>

  <td>62.244.222.152</td>
  <td>http://www.reno.gov</td>
  <td>11:24</td>

  <td>1985/1/22</td>
  <td>22/1/1985</td>
 </tr>

  
 <tr>
  <td>foo@donuts.com</td>
  <td>11268</td>
  <td>941-964-208</td>

  <td>$3730.64</td>
  <td>234.192.138.252</td>

  <td>http://aftonbladet.se</td>
  <td>22:45</td>
  <td>1979/8/4</td>
  <td>4/8/1979</td>

 </tr>
  
 <tr>

  <td>devo@google.se</td>
  <td>17059</td>
  <td>941-964-2903</td>
  <td>$1404.67</td>
  <td>73.189.246.202</td>

  <td>http://www.gmail.com</td>

  <td>22:28</td>
  <td>1983/4/28</td>
  <td>28/4/1983</td>
 </tr>
  
 <tr>
  <td>muffins@flexomat.com</td>

  <td>90584</td>
  <td>941-964-4640</td>
  <td>$3706.01</td>
  <td>243.162.73.115</td>
  <td>http://www.fish.org</td>
  <td>11:12</td>

  <td>1997/4/8</td>
  <td>8/4/1997</td>
 </tr>
  
 <tr>
  <td>foo@samba.org</td>
  <td>82966</td>

  <td>941-964-7245</td>

  <td>$1001.38</td>
  <td>255.182.148.252</td>
  <td>http://www.reno.gov</td>
  <td>8:42</td>
  <td>1995/11/1</td>

  <td>1/11/1995</td>

 </tr>
  
 <tr>
  <td>foo@reno.gov</td>
  <td>03603</td>
  <td>941-964-8942</td>

  <td>$1677.07</td>
  <td>176.96.162.192</td>

  <td>http://www.flexomat.com</td>
  <td>19:11</td>
  <td>1980/7/31</td>
  <td>31/7/1980</td>

 </tr>
  
 <tr>
  <td>found@flexomat.com</td>

  <td>84939</td>
  <td>941-964-7004</td>
  <td>$3916.83</td>

  <td>240.145.198.78</td>
  <td>http://www.fish.org</td>
  <td>1:29</td>

  <td>1980/8/26</td>
  <td>26/8/1980</td>
 </tr>

  
 <tr>
  <td>henry@lostnfound.org</td>
  <td>76453</td>
  <td>941-964-3084</td>

  <td>$3875.88</td>
  <td>235.225.168.168</td>

  <td>http://www.fish.org</td>
  <td>15:31</td>
  <td>2000/10/22</td>
  <td>22/10/2000</td>

 </tr>
  
 <tr>

  <td>sam@aftonbladet.se</td>
  <td>36274</td>
  <td>941-964-7784</td>
  <td>$73.43</td>
  <td>114.190.194.148</td>

  <td>http://www.dn.se</td>

  <td>18:24</td>
  <td>1994/11/11</td>
  <td>11/11/1994</td>
 </tr>
  
 <tr>
  <td>dev@polyester.se</td>

  <td>15971</td>
  <td>941-964-7527</td>
  <td>$1855.18</td>
  <td>179.121.143.189</td>
  <td>http://www.flexomat.com</td>
  <td>10:25</td>

  <td>1984/8/16</td>
  <td>16/8/1984</td>
 </tr>
  
 <tr>
  <td>devo@fish.org</td>
  <td>31734</td>

  <td>941-964-9760</td>

  <td>$3201.35</td>
  <td>213.186.220.205</td>
  <td>http://www.samba.org</td>
  <td>19:37</td>
  <td>1979/3/4</td>

  <td>4/3/1979</td>

 </tr>
  
 <tr>
  <td>devo@reno.gov</td>
  <td>52074</td>
  <td>941-964-2068</td>

  <td>$3035.24</td>
  <td>189.62.225.163</td>

  <td>http://www.dn.se</td>
  <td>21:18</td>
  <td>1998/2/24</td>
  <td>24/2/1998</td>

 </tr>
  
 <tr>
  <td>mendez@fish.org</td>

  <td>87800</td>
  <td>941-964-7933</td>
  <td>$618.59</td>

  <td>254.119.153.91</td>
  <td>http://www.dn.se</td>
  <td>22:34</td>

  <td>1979/5/28</td>
  <td>28/5/1979</td>
 </tr>

  
 <tr>
  <td>muffins@reno.gov</td>
  <td>95926</td>
  <td>941-964-147</td>

  <td>$3897.91</td>
  <td>105.85.121.209</td>

  <td>http://www.flexomat.com</td>
  <td>9:50</td>
  <td>2003/4/1</td>
  <td>1/4/2003</td>

 </tr>
  
 <tr>

  <td>carl@donuts.com</td>
  <td>74513</td>
  <td>941-964-4507</td>
  <td>$2150.68</td>
  <td>106.175.123.125</td>

  <td>http://www.fish.org</td>

  <td>21:42</td>
  <td>1977/4/8</td>
  <td>8/4/1977</td>
 </tr>
  
 <tr>
  <td>sam@fish.org</td>

  <td>82420</td>
  <td>941-964-2134</td>
  <td>$3947.54</td>
  <td>129.78.102.122</td>
  <td>http://mountdev.net</td>
  <td>11:33</td>

  <td>1990/11/26</td>
  <td>26/11/1990</td>
 </tr>
  
 <tr>
  <td>devo@mountdev.net</td>
  <td>81905</td>

  <td>941-964-3535</td>

  <td>$722.17</td>
  <td>229.101.84.111</td>
  <td>http://fish.org</td>
  <td>7:29</td>
  <td>1975/12/28</td>

  <td>28/12/1975</td>

 </tr>
  
 <tr>
  <td>john@lostnfound.org</td>
  <td>93124</td>
  <td>941-964-1508</td>

  <td>$394.82</td>
  <td>61.184.235.77</td>

  <td>http://www.mountdev.net</td>
  <td>14:38</td>
  <td>1979/12/10</td>
  <td>10/12/1979</td>

 </tr>
   </tbody>
</table>


</body>


custom.js

jQuery(document).ready(function() {
  $("#large").tablesorter( {sortList: [[0,0], [1,0]]} );
});


posted @ 2009-10-10 16:02 笑口常开、财源滚滚来! 阅读(2016) | 评论 (0)编辑 收藏
 
1.在当前类路径下新建一个properties文件;
编写DBconfig.properties

driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
url=jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=school   
user=sa   
password=sa


2.新建工具类

package com.itcast.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;

public class ConnectionUtil {

 public Connection openConnection() {
  String driver = "";
  String url = "";
  String user = "";
  String password = "";
  Properties prop = new Properties();
  Connection conn = null;
  try {
   //加载属性文件   
   prop.load(this.getClass().getClassLoader().getResourceAsStream(
     "DBConfig.properties"));
   driver = prop.getProperty("driver");
   url = prop.getProperty("url");
   user = prop.getProperty("user");
   password = prop.getProperty("password");
   //Class.forName加载驱动   
   Class.forName(driver);
   //DriverManager获得连接   
   conn = DriverManager.getConnection(url, user, password);
   return conn;
  } catch (Exception e) {
   e.printStackTrace();
  }
  return null;
 }

}


3.业务实现类


package com.itcast.service.impl;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import com.itcast.db.ConnectionUtil;
import com.itcast.db.DBConnection;
import com.itcast.model.User;
import com.itcast.service.IUser;

/**
 * 业务逻辑处理
 *
 * @author Administrator
 *
 */
public class UserImpl implements IUser {

// DBConnection db = new DBConnection();

 private PreparedStatement pstm;
 
 /**
  * 添加用户
  */
 public void  add_User(User user) {
  try{
//  Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//  conn= DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=school", "sa", "sa");
   Connection conn = new ConnectionUtil().openConnection();
  pstm=conn.prepareStatement("insert into userTable(user_name , user_password ,user_age,user_sex,user_address,user_telephone) values(?,?,?,?,?,?)");
  pstm.setString(1, user.getUsername());
  pstm.setString(2, user.getPassword());
  pstm.setInt(3, user.getAge());
  pstm.setString(4, user.getSex());
  pstm.setString(5, user.getAddress());
  pstm.setString(6, user.getTelephone());
  pstm.executeUpdate();
  }catch(SQLException e){
   e.printStackTrace();
  }catch(Exception e){
   e.printStackTrace();
  }
//  String sql="insert into userTable(user_name , user_password ,user_age,user_sex,user_address,user_telephone) values(?,?,?,?,?,?)";
//  
//  db.GetConnection();
  

 }

 /**
  * 删除用户
  */
 public boolean del_User(int id) {
  boolean result=false;
  try{
   Connection conn = new ConnectionUtil().openConnection();
   pstm=conn.prepareStatement("delete from  userTable where user_id="+id);
   
   pstm.executeUpdate();
   result=true;
   }catch(SQLException e){
    e.printStackTrace();
   }catch(Exception e){
    e.printStackTrace();
   }
   return result;
 }

 /**
  * 查找用户
  */
 public List<User> find_User() {
 
  Connection conn = new ConnectionUtil().openConnection();
  List<User> list = new ArrayList();
  User user = new User();
  
  String sql = "select * from userTable ";
  try {
   pstm=conn.prepareStatement(sql);
//   pstm.setInt(1, id);
   ResultSet rs=pstm.executeQuery();
   while (rs.next()) {
    user.setId(rs.getInt(1));
    user.setUsername(rs.getString(2));
    user.setPassword(rs.getString(3));
    user.setAge(rs.getInt(4));
    user.setSex(rs.getString(5));
    user.setAddress(rs.getString(6));
    user.setTelephone(rs.getString(7));
    user.setTime(rs.getDate(8));
//    System.out.println(rs.getString(7));
    list.add(user);
   }
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return list;
  
  
 }

 /**
  * 按照id查询用户信息
  */
 public List find_Users(int id) {
  Connection conn = new ConnectionUtil().openConnection();
  List list = new ArrayList();
  User user = new User();
  
  String sql = "select * from userTable where user_id=?";
  try {
   pstm=conn.prepareStatement(sql);
   pstm.setInt(1, id);
   ResultSet rs=pstm.executeQuery();
   while (rs.next()) {
    user.setId(rs.getInt(1));
    user.setUsername(rs.getString(2));
    user.setPassword(rs.getString(3));
    user.setAge(rs.getInt(4));
    user.setSex(rs.getString(5));
    user.setAddress(rs.getString(6));
    user.setTelephone(rs.getString(7));
    user.setTime(rs.getDate(8));
//    System.out.println(rs.getString(7));
    list.add(user);
   }
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return list;
 }

 /**
  * 修改用户信息
  */
 public IUser modify_User() {
  // TODO Auto-generated method stub
  return null;
 }

}

posted @ 2009-09-26 14:09 笑口常开、财源滚滚来! 阅读(720) | 评论 (0)编辑 收藏
 
     摘要: JSTL 入门: 探讨 core JSTL 入门: 探讨 core 使用定制标记进行流控制和 URL 管理 ...  阅读全文
posted @ 2009-09-22 10:50 笑口常开、财源滚滚来! 阅读(383) | 评论 (0)编辑 收藏