提交form表单的几种方法getElementById方式

开放过程中经常需要提交数据,我简单整理了下几种提交表单方式,提交form表单的几种方法
其中最经典的应属里面通过js进行触发提交。变换性强

<form id="formName" method="post" action="/Test/form">
	<input type="hidden" name="extension" id="extension" value="doc" />
    <input type="submit" value="提交" />
    <button onclick="this.form.submit();">提交</button>
</form>

<a href="javascript:void();" onclick="submit('ppt')">提交</a>
<script type="text/javascript">
function submit(type)
{
	form = document.getElementById('formName');
	form.extension.value = type;
	this.form.submit();
}
</script>

EmEditor大文本编辑器 快速打开大文本文件 高性能编辑器快速查找替换

EmEditor是快速,轻巧,可扩展,使用方便的windows文本编辑器。EmEditor获得了众多奖励,包括 共享软件企业殊荣 ,该荣誉在应用程序领域! ZDnet.com的 Ed Burnette 称 EmEditor 为 “全球最快的编辑器。” (全文)
该文本编辑器支持功能强大的宏,统一码,超大文件。Emurasoft的随时服务满足了客户的需要,并随时倾听客户的建议。我们提供及时的客户服务, 并为有一些知名客户而骄傲,这些知名客户包括:大型企业,教育机构,欧盟组织,日本及其他各国的政府部门。
EMEditor大文本编辑器

从书写到编程,你将体验到
一个针对Windows的,快速,小巧,可扩展的文档编辑软件!
这是一个快速高效把你的思想和编译转为文档的完美工具。EmEditor荣获了共享软件2008企业殊荣,该荣耀在最好的应用程序领域!

轻便高速!
EmEditor启动快速,运行平稳。EmEditor的启动速度, 打开文件和搜索/重置的速度远超其他文本编辑器! »

支持统一码 (UTF-16, UTF-8 和UTF-7)
EmEditor支持统一码(UTF-16, UTF-8 和 UTF-7),同时也支持很多国际代码。EmEditor同时支持CJK统合汉字扩展B,扩展片假名字符。»

支持超大文件!
EmEditor专业版可以打开 — 大到 248 GB 或 21 亿行的超大文件 —而内存仅使用一点点。使用EmEditor的超大文件编辑器,可以技术性的处理超过 248 GB 的文件。 »

EmEditor专业版
对比和同步滚动功能
新的拼写特征
改进的垂直选区编辑
—以及更多! 点击查看详情»

支持
快速,细致,准确的响应
观点/评论交流的开放式平台
下载最新版本

新特征列表
标记 • HTML/XML 字符引用 • 查找工具栏 • 批处理替换 • 对比和同步滚动 • 新的拼写功能 • 改进后的垂直选区编辑 • 计数 • 大纲插件新特征 • ASCII并排查看和二进制(十六位制查看) • 新的代码片段插件 • 自动添加括弧 • 收缩 • CSV, TSV • 全屏 • 剪贴板历史 • 支持通配符 • 包括取消信息的工作区 • 新的外部工具 • 列表引脚 • 保存在受保护的文件夹中 • 支持 Windows 7 跳转列表 • 超大文件编辑器 • 垂直选区编辑 • 二位制编辑 • 最优化搜索和重启 • 改进后的项目插件 • 最优化开启的超大文件 • 搜索栏, HTML栏, 项目插件 • Word Complete • 键盘和鼠标记录和返回 • 针对宏的新对象, 属性, 和方法 • Macros工具栏 • 移动选项 (可安装在U盘) • 浏览器, 差分计数器, 大纲, 网页预览, 搜索插件 • 联合EmEditor的外部工具标准输出显示 • 快速启动 • 支持活动脚本 • 轻巧, 单一程序, 多线程, 低耗内存 • 制表视窗 • 检查所有结果的对话框 • 支持更多统一码 • 应用程序出错处理 • 强大而多功能的宏 • 文件中查找 • 文件中重启 • 高亮显示关键字 • 支持统一码 • 插件 • 拖拽 • 优质 • 针对网页设计者

官方网站:http://www.emeditor.com/
中文官网:http://zh-cn.emeditor.com/

UEditor在线web编辑器 所见即所得富文本编辑器 源于百度

UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于BSD协议,允许自由使用和修改代码…

web编辑器

功能全面:
涵盖流行富文本编辑器特色功能,独创多种全新编辑操作模式。

用户体验:
涵盖流行富文本编辑器特色功能,独创多种全新编辑操作模式。

开源免费:
开源基于BSD协议,支持商业和非商业用户的免费使用和任意修改。

定制下载:
细粒度拆分核心代码,提供可视化功能选择和自定义下载。

专业稳定:
百度专业QA团队持续跟进,上千自动化测试用例支持。

官方网站:http://ueditor.baidu.com

常见问题解答
http://ueditor.baidu.com/website/helper.html
1:表情设置了本地化之后,插入的表情只显示了一个叉叉,怎么办?
2:上传的图片在编辑器中显示不出来,怎么办?
3:图片上传成功之后,在编辑器中能显示出来,但是保存到数据库后在项目的另外一个页面却不能正确显示,怎么办?
4:代码高亮功能在编辑器中能够正确显示,可是在展示页面却没有高亮效果,为什么?
5:IE6下初始化编辑器的时候报错,并提示“已终止操作”怎么办?
6:大部分编辑器的容器都使用textarea,为什么UEditor采用了很特殊的script标签?
7:如何禁用编辑器提供的右键菜单?
8:IE6下切换源码的时候明显感觉到延迟现象,怎么回事?
9:图片上传的页面或者图片转存页面上的上传flash渲染不出来怎么办?
10:从数据库中获取数据,然后通过initialContent参数或者script、textarea等标签设置到编辑器之后,出现语法错误提示或者显示内容不完整,怎么办?
11:点击图片上传按钮之后,进度条到达60%左右,然后显示一个红叉,没有任何提示,怎么办?
12:我插入的script,style等标签被过滤掉了,怎么办?
13:插入分页功能怎么用,预览时为啥只能看到一个“_baidu_page_break_”?
14:为什么我安装截图插件的时候会报错,提示“无法注册dll/ocx,regsvr32失败,退出代码0x3”?
15:为什么我插入的代码没有代码高亮?
16:图片、附件上传需要涉及到的配置有哪些?为什么我每次上传都显示一个红叉?
17:在编辑器中上传(图片,附件,截图,word图片转存)与传统上传的差异?
18:如何配置附件上传?
19:UEditor提供的图片在线管理是指什么?需要注意哪些问题?
20:远程图片抓取为什么有的时候能成功,有的时候不能成功?

中文截取 utf8 gbk字符串截取 文本截取

中文截取在编程中经常要用到,下面总结一下常见的开源程序的中文截取功能
以供同学们对比学习和使用
下面是代码,转载请注明出处 右岸科技 http://blog.xxtime.com

一. PHPCMS
函数位置:phpcms/libs/functions/global.func.php

/**
 * 字符截取 支持UTF8/GBK
 * @param $string
 * @param $length
 * @param $dot
 */
function str_cut($string, $length, $dot = '...') {
	$strlen = strlen($string);
	if($strlen <= $length) return $string;
	$string = str_replace(array(' ','&nbsp;', '&amp;', '&quot;', '&#039;', '&ldquo;', '&rdquo;', '&mdash;', '&lt;', '&gt;', '&middot;', '&hellip;'), array('∵',' ', '&', '"', "'", '“', '”', '—', '<', '>', '·', '…'), $string);
	$strcut = '';
	if(strtolower(CHARSET) == 'utf-8') {
		$length = intval($length-strlen($dot)-$length/3);
		$n = $tn = $noc = 0;
		while($n < strlen($string)) {
			$t = ord($string[$n]);
			if($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) {
				$tn = 1; $n++; $noc++;
			} elseif(194 <= $t && $t <= 223) {
				$tn = 2; $n += 2; $noc += 2;
			} elseif(224 <= $t && $t <= 239) {
				$tn = 3; $n += 3; $noc += 2;
			} elseif(240 <= $t && $t <= 247) {
				$tn = 4; $n += 4; $noc += 2;
			} elseif(248 <= $t && $t <= 251) {
				$tn = 5; $n += 5; $noc += 2;
			} elseif($t == 252 || $t == 253) {
				$tn = 6; $n += 6; $noc += 2;
			} else {
				$n++;
			}
			if($noc >= $length) {
				break;
			}
		}
		if($noc > $length) {
			$n -= $tn;
		}
		$strcut = substr($string, 0, $n);
		$strcut = str_replace(array('∵', '&', '"', "'", '“', '”', '—', '<', '>', '·', '…'), array(' ', '&amp;', '&quot;', '&#039;', '&ldquo;', '&rdquo;', '&mdash;', '&lt;', '&gt;', '&middot;', '&hellip;'), $strcut);
	} else {
		$dotlen = strlen($dot);
		$maxi = $length - $dotlen - 1;
		$current_str = '';
		$search_arr = array('&',' ', '"', "'", '“', '”', '—', '<', '>', '·', '…','∵');
		$replace_arr = array('&amp;','&nbsp;', '&quot;', '&#039;', '&ldquo;', '&rdquo;', '&mdash;', '&lt;', '&gt;', '&middot;', '&hellip;',' ');
		$search_flip = array_flip($search_arr);
		for ($i = 0; $i < $maxi; $i++) {
			$current_str = ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];
			if (in_array($current_str, $search_arr)) {
				$key = $search_flip[$current_str];
				$current_str = str_replace($search_arr[$key], $replace_arr[$key], $current_str);
			}
			$strcut .= $current_str;
		}
	}
	return $strcut.$dot;
}