喜悦国际村 » XML/HTML/CSS/Js » ajax-form方式提交

页: [1]
km39452008-4-29 01:54 AM
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_yao2008-4-29 04:53 AM
还没有用过jq 先收藏了

lyhiving2008-4-29 10:21 AM
发现有一个错误

现在把修正的文件贴上:

:)

km39452008-4-29 10:44 AM
没看到来那不对.

km39452008-4-29 10:48 AM
$(#'+on+'_DIV)

你这样改是不对的#是字符,不是变量,所以得像我原来那样

$('#'+on+'_DIV').

剑枫2008-5-5 06:39 AM
没搞过。。。。

smoon2008-5-13 08:30 AM
我的都是ICONV : UTF-8->GB2312 ,如果有信息要返回,就 ICONV: GB2312->UTF-8,再echo JSON();
还没有出问题了!


查看完整版本: ajax-form方式提交


Powered by Discuz! Archiver 6.1.0  © 2001-2006 Comsenz Inc.
Processed in 0.006206 second(s), 2 queries