欢迎转载,但请注意,除非特别声明,本站采用许可:署名,非商业。需要联系我可发邮件至
预览模式: 普通 | 列表

用Javascript在编辑框和TextArea的光标处插入文字

本文提供了用Javascript在input type="text"和TextArea的光标处插入字符串的例子。
Javascript代码如下:
  1. <html>
  2.  <head>
  3.  <title>Test of inserting characters at cursor position</title>
  4.  <script type="text/javascript" src="jquery.pack.js"></script>
  5.  <script>
  6. function setCaret(textObj){
  7.    if(textObj.createTextRange){  
  8.      textObj.caretPos=document.selection.createRange().duplicate();  
  9.    }
  10. }
  11. function insertAtCaret(textObj,textFeildValue){
  12.    if(document.all&&textObj.createTextRange&&textObj.caretPos){     
  13.        var caretPos=textObj.caretPos;    
  14.        caretPos.text=caretPos.text.charAt(caretPos.text.length-1)==''?textFeildValue+'':textFeildValue;
  15.    }else if(textObj.setSelectionRange){      
  16.        var rangeStart=textObj.selectionStart;
  17.        var rangeEnd=textObj.selectionEnd;   
  18.        var tempStr1=textObj.value.substring(0,rangeStart);    
  19.        var tempStr2=textObj.value.substring(rangeEnd);    
  20.        textObj.value=tempStr1+textFeildValue+tempStr2;
  21.        textObj.focus();
  22.        var len=textFeildValue.length;
  23.        textObj.setSelectionRange(rangeStart+len,rangeStart+len);
  24.        textObj.blur();
  25.    }else {
  26.      textObj.value+=textFeildValue;
  27.    }
  28. }
  29. $(document).ready(function(){
  30.     if($.browser.msie){
  31.       $("#tag")
  32.         .click(function(){
  33.           setCaret($(this).get(0));
  34.         })
  35.         .select(function(){
  36.           setCaret($(this).get(0));
  37.         })
  38.         .keyup(function(){
  39.           setCaret($(this).get(0));
  40.         });
  41.         $("#tagA")
  42.         .click(function(){
  43.           setCaret($(this).get(0));
  44.         })
  45.         .select(function(){
  46.           setCaret($(this).get(0));
  47.         })
  48.         .keyup(function(){
  49.           setCaret($(this).get(0));
  50.         });
  51.     }
  52.     $("a.insertTag")
  53.       .click(function(){
  54.         insertAtCaret($("#tag").get(0),$(this).html());
  55.       });
  56.      $("a.insertTagA")
  57.       .click(function(){
  58.         insertAtCaret($("#tagA").get(0),$(this).html());
  59.       });
  60.   });
  61.  </script>
  62.  </head>
  63.  <body>
  64. References:<br/>
  65. http://www.dnew.cn/post/287.htm<br/>
  66. http://blog.vishalon.net/Post/57.aspx
  67.    <div>
  68.      <form>
  69.      <input type="text" id="tag" value="testtesttest" size="50" /><br/>
  70.      <a class="insertTag" href="javascript:void(0)">tag1</a>
  71.      <a class="insertTag" href="javascript:void(0)">tag2</a>
  72.      <br/>
  73.      <textarea id="tagA" style="width:300px;height:120px;" >tttttt tttt</textarea><br/>
  74.      <a class="insertTagA" href="javascript:void(0)">tag3</a>
  75.      <a class="insertTagA" href="javascript:void(0)">tag4</a>
  76.      </form>
  77.    
  78.    </div>
  79.  </body>
  80.  </html>

本代码在IE6.0和Firefox2.0下测试通过,与参考链接的文章相比主要是加进了JQuery并改进了在firefox下不能在同一位置连续插入的问题。
直接下载例子下载文件InsertAtCursorPos.rar (15 KB , 下载:470次)
参考链接:
http://www.dnew.cn/post/287.htm
http://blog.vishalon.net/Post/57.aspx
标签: Javascript

黄金价格上升,24年来今天最高

サブプライムローン問題の影響で金融市場の混乱が続くなかで、リスクを避けようと、金やプラチナなどを買う動きが強まって価格が上昇し、29日の東京市場では、金が24年ぶりの高値をつけたほか、プラチナも取り引き開始以来の最高値を更新しました。

29日の東京工業品取引所では、金の先物価格の終わり値が1グラム・3188円まで値上がりし、およそ24年ぶりの高値をつけました。また、プラチナの先物価格も終わり値で1グ

[阅读全文]

标签: 日语 翻译

百度搜索正式进军日本

中国最大手のインターネット検索会社「百度(バイドゥ)」が、初めての海外進出として23日から日本で本格的なサービスを開始しました。日本では、ヤフーとグーグルが大きなシェアを占めており、百度がどこまで事業を拡大できるか注目されます。

「百度」は、8年前、中国でインターネット検索の事業を始めたあと、現在では中国国内の70パーセントを超える利用者が使う最大手のインターネット検索会社に成長しました。初めての海

[阅读全文]

标签: 日语 翻译 公司

Windows下开启Apache mod_rewrite模块完全解答

1.启用mod_rewrite模块
在conf目录的httpd.conf文件中找到
LoadModule rewrite_module modules/mod_rewrite.so
将这一行前面的#去掉。
2.在要支持url rewirte的目录启用 Options FollowSymLinks和AllowOverride All
Alias /php "c:/web/php/"
<

[阅读全文]

标签: Apache FAQ

Windows下通过命令行安装和删除tomcat5服务的方法

安装
tomcat-5.0.28\bin\service.bat install MyAppTomcat5
删除
tomcat-5.0.28\bin\service.bat remove MyAppTomcat5
要说的正题是
MyAppTomcat5不能有下划线,象这样MyApp_Tomcat5
原因不明

mysql可以
mysql-5.0.27\bin\mysqld-nt --install MyApp_my

[阅读全文]

标签: FAQ Tomcat

MyEclipse 老是 out of memory的一个解决方法

由于缺省参数设置的内存太小,MyEclipse很容易出现内存溢出,可以将启动命令修改如下
eclipse.exe -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M
(右键点快捷方式-->属性 在执行文件后添加参数即可,可以根据自己机子的内存按比例调整上述数值,一般不需要再调整)
标签: Eclipse IDE FAQ

一个读写csv文件的C#类

CSV(Comma-Separated Values )文件即用逗号分隔的文本文件。
下面是用C#写的一个简单的读写CSV文件的类。

using System;
using System.Collections.Generic;
using System.IO;
using System.Text;

namespace CSVDemo
{
    /// <summary>
    /// CSVUtil is a helper class handling csv files.
    /// </summary>
    public class CSVUtil
    {
        private CSVUtil()
        {
        }
        //write a new file, existed file will be overwritten
        public static void WriteCSV(string filePathName,List<String[]>ls)
        {
            WriteCSV(filePathName,false,ls);
        }
        //write a file, existed file will be overwritten if append = false
        public static void WriteCSV(string filePathName,bool append, List<String[]> ls)
        {
            StreamWriter fileWriter=new StreamWriter(filePathName,append,Encoding.Default);
            foreach(String[] strArr in ls)
            {
                fileWriter.WriteLine(String.Join (“,",strArr) );
            }
            fileWriter.Flush();
            fileWriter.Close();
           
        }
        public static List<String[]> ReadCSV(string filePathName)
        {
            List<String[]> ls = new List<String[]>();
            StreamReader fileReader=new   StreamReader(filePathName); 
            string strLine="";
            while (strLine != null)
            {
                strLine = fileReader.ReadLine();
                if (strLine != null && strLine.Length>0)
                {
                    ls.Add(strLine.Split(','));
                    //Debug.WriteLine(strLine);
                }
            }
            fileReader.Close();
            return ls;
        }
       
    }
}
如何使用这个类可以看源代码。下载文件CSVDemo.rar (12.76 KB , 下载:947次)
源代码演示了:
1.listview控件,openFileDialog控件的简单运用;
2.autoseed的Random类的使用;
3.保存CSV文件;
4.读取CSV文件;
5.简单的分层思想,视图-listview,业务数据-data,永久数据-csv file
本代码不涉及:
1.listview控件的复杂控制
2.CSV文件内容合法性检验,例如每行是否有相同的列。
Update
2007-12-14  一个不简单的处理csv文件的C#类(库)
http://www.codeproject.com/KB/database/CsvReader.aspx
我没有用过,连下载都没有,因为我用不着,也许某一天会有用。
2008-1-14 按游客的指点修改了WriteCSV,精简了代码,Demo的代码也已更新。
标签: CSV文件

IIS重启后WEB站点不能自动重启故障解决一例

重启计算机后,IIS不能自动重启?
请点击“开始-管理工具-服务”,双击IIS Admin Service,将其启动方式改为自动。

IIS可以自动重启,但是WEB站点需要手动启动?
请点击
“开始-管理工具-服务”,双击World Wide Web Publishing Service将其启动方式改为自动。

标签: FAQ