javascript实现 UTF-8 编码页面 向 GB2312 编码页面提交

form表单有个accept-charset属性,用来设置表单提交时的编码。哇~~幸运!

<!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=utf-8"/>
<title>领导信箱</title>
<body>
<form action="saction" accept-charset="gb2312" method="post">
<!-- some code -->
</form>
</body>
</html>

这个属性在Firefox下正常,ie下不能用,又要鄙视ie了 ~~~~

最后通过一个小技巧来解决了ie下不支持accept-charset的问题,就是在表单提交时改变整个页面的编码(onsubmit=”document.charset=’gb2312′;”)

function searchTo(){
  var isIE=!!window.ActiveXObject;
  if (isIE) document.charset='gb2312';
  document.getElementById('search').submit();
}
<form id="search" action="saction" accept-charset="gb2312"
onsubmit="searchTo()" method="post">
<!-- some code -->
</form>

发表评论