页:
[1]
|
ajax-form方式提交
为了解决用户输入的特殊字符如:
•ั๑ ๑۩۞۩๑ ♬✿.。.:* ☂☃ ☄ ★ ☆ ☇ ☈ ☉ ☊ ☋ ☌ ☍ ☑ ☒☢ ☸ ☹ ☺ ☻ ☼ ☽ ☾
,通过AJSX的POST方式提交后到数据库会变成UTF-8的.其它程序读取进就有麻烦.为了保证和传统FORM方式提交到数据库的一样.就写了下面这个JQ扩展.
[php]
(function($){
jQuery.extend({
ajaxFormNums:0,
ajaxFormPost:function(sURL, datas, callBack)
{/*[sURL=提交地址, datas=要提交的数据对像, callBack=回调]*/
var on='TEMP_POST_'+$.ajaxFormNums;
var of=[];
of.push('<div id="'+on+'_DIV" style="position:absolute;z-index:10;top:-2000100px;"><iframe id="'+on+'_IFRAME" name="'+on+'_IFRAME" height="50" width="500" src="about:blank" onload="'+callBack+'(frames[this.name].document.body.innerHTML);window.setTimeout(function(){$(\'#'+on+'_DIV\').remove();},1);" frameborder="0" border="0" scrolling="no"></iframe><form id="'+on+'_FORM" name="'+on+'_FORM" method="post" action="'+sURL+'" target="'+on+'_IFRAME">');
$.each(datas,function(i,n){of.push('<textarea name="'+i+'"></textarea>');});
of.push('</form></div>');
document.body.insertAdjacentHTML("beforeEnd", of.join(''));
$.each(datas,function(i,n){document.forms[on+'_FORM'].elements[i].value=n;});
of=null;
$.Id(on+'_FORM').submit();
$.ajaxFormNums++;
}
});
})(jQuery);
[/php] |
| sanders_yao | 2008-4-29 04:53 AM |
|
| 还没有用过jq 先收藏了 |
| lyhiving | 2008-4-29 10:21 AM |
|
发现有一个错误
现在把修正的文件贴上:
:) |
|
$(#'+on+'_DIV)
你这样改是不对的#是字符,不是变量,所以得像我原来那样
$('#'+on+'_DIV'). |
|
我的都是ICONV : UTF-8->GB2312 ,如果有信息要返回,就 ICONV: GB2312->UTF-8,再echo JSON();
还没有出问题了! |
Powered by Discuz! Archiver 6.1.0
© 2001-2006 Comsenz Inc.
Processed in 0.006206 second(s), 2 queries |