`

表单提交前内容的js处理

阅读更多
  • 说明:

    经常使用ajax提交表单,无论是get还是post方法,其内容都有部分特殊字符需要转义或处理

  • 原理:

    如果是get方法,则是要对内容进行转码和转义,如果是post方法,则只要对其内容进行特殊内容转义,可写一公共方法通用处理后提交。特殊字符转义包括 | + %2B | 空格 %20 | / %2F | ? %3F | % %25 | # %23 | & %26 | = %3D |

  • 实现:

    js:

    function encodeContent(data){
    	return encodeURI(data).replace(/&/g,'%26').replace(/\+/g,'%2B').replace(/\s/g,'%20').replace(/#/g,'%23');
    }
     
    除空格,加号,#号外,别的字符已经在加密时转义过了

看到了大家的回复,看来这个贴子写的是很不得人心,要不就不知我所云,要不就认为我这是一个找鄙视的文章.

解释一下:我所写的文章都是我在开发中所遇到的问题,无论可能性在别的地方如何,但它就在我的项目里出现了.有的问题看起来是有点普通和浅薄,但那都是我一步一步走出来的脚印.


再来说说这个贴子所想表达的意思, 1. js 是已经提供了encodeURI 和 encodeURIComponent 方法, 2.这两个方法都不适合在我项目中使用,我所使用的框架是ofbiz,他的页面渲染方式是把所调动的页面内容包括js的内容都时行了html转义, 在项目页面的编码中,encodeURIComponent方法会将别的一些符号给转义了,比如分号,左斜杠等,但我项目里不能让他们转义,(为什么?短话里说不清,这是项目和框架的问题,就是在我的项目里出现了),所以我要有我自己的转义方法,思路就是,先不对符号进行转义,再对部分特殊符号转义,就这么简单,我个人认为这种做法已经可以代替encodeURIComponent并能在我项目里被兼容.

分享到:
评论
3 楼 明天的昨天 2010-07-10  
encodeURIComponent()  ????
2 楼 Terence.Gao 2010-07-09  
无语...
多此一举...
JavaScript水平不行吧?
有个基本的转换函数难道你不知道?
1 楼 smildlzj 2010-07-05  
LZ为了说明什么??

相关推荐

    转义表单提交字符处理函数

    转义表单提交字符处理函数,可用于php或javascript的字符处理函数列表

    防止用户表单重复提交处理

    防止用户表单重复提交的完整demo 分别在js与后台中处理,js处理(针对网络慢情况) 后台处理(针对用户点击浏览器上的刷新按钮等)

    jquery+ajax验证不通过也提交表单问题处理

    1 使用正常的表单提交.这种情况validationEngine验证不通过是不会提交表单的. 2 使用ajax提交表单,但是没有使用ajax验证.  这种方式也比较简单,在我们使用ajax请求前检查验证是否通过就可以,例如: 代码如下: //...

    javascript处理表单示例(javascript提交表单)

    处理各种表单, 以及链接,按钮的通用组件 代码如下:/** * Generic Form processing js * @author Anthony.chen */ /** * Push button action [btn_action]data into form * If there is prescript , run the ...

    Vue表单提交点击事件只允许点击一次的实例

    常用出现场景:商城点击订单提交 1、使用Vue封装事件 ... // 处理逻辑 } } 2、使用原生JS事件 在数据data里面声明一个flag属性 data() { return { isSubmit: true; } } body: <el-button @click=submi

    javascript 回车键触发表单提交的问题

    比如搜索行为,希望输入完关键词之后直接按回车键立即提交表单,而有些复杂表单,可能要避免回车键误操作在未完成表单填写的时候就触发了表单提交。 要控制这些行为,不需要借助JS,浏览器已经帮我们做了这些处理,...

    Form-Submission-Attributes-Polyfill:简单的polyfill处理旧版浏览器中的html5表单提交属性

    简单的polyfill处理旧版浏览器中的html5表单提交属性 函数必须应用于表单,即$('form')。formSubmissionAttributes(),否则它将输出警告并取消对该元素的执行。 该脚本将从表单内部或通过form =“”属性指向...

    js实现表单多按钮提交action的处理方法

    之前一篇文章介绍了php实现表单多按钮提交action的处理方法,今天再介绍一种js实现表单多按钮提交action的处理方法,希望能够帮助到大家。 用JS实现一个表单多个按钮的方法,两个onclick事件处理,代码如下: <...

    jQuery表单插件jquery.form.js(示例源码)

    jQuery Form Plugin能够让你简洁的将...插件里面主要的方法, ajaxForm和ajaxSubmit,能够从form组件里采集信息确定如何处理表单的提交过程。 两个方法都支持众多的可选参数,能够让你对表单里数据的提交做到完全的控制。

    Ajax提交与传统表单提交的区别说明

    Ajax提交是通过js来提交请求,请求与响应均由js引擎来处理,页面不会刷新,用户感觉不到实际上浏览器发出了请求。比如说我们希望网页总是显示最新的新闻,而又不想老是去点刷新按钮,我们就可以用Ajax机制来实现。...

    Python实现网站表单提交和模板

    它主要负责展示,或者让用户填写一些表格,通过JS提交给用python写的程序,让python程序来处理数据,那些处理数据的python程序称之为“后端”。我常常提醒做“后端”的,不要轻视“前端”。如果立志成为全栈工程师,...

    ajax跨域(基础域名相同)表单提交的方法

    2.ajax表单提交表单时可以使用一个jquery的一个表单插件jquery.form.js 使用语法如下: //fromPost为要收集数据的form表单的id $(#formPost).ajaxSubmit({ url:跨域的业务处理地址, cache:false, dataType:ht

    Nodejs之http的表单提交

    这里创建了一个简单的web服务器,并对提交表单数据进行处理,根据了不起的Node.js一书总结。 POST方法提交表单数据  之前也总结过,向服务器提交数据需要使用POST方法,GET方法的请求信息都在查询字符串中,没有...

    JQuery通过Ajax提交表单并返回结果

    在介绍使用JQuery提交表单前,我们需要首先引用jquery.form.js,它来自于http://www.malsup.com/jquery/form/,至此,我们需要引用的JS文件有: 功能要求:Ajax提交表单,在控制器HelloWorld4Controller中处理请求...

    emory.js:一种轻松处理AJAX表单提交的模式和引擎

    emory.js 一种轻松处理AJAX表单提交的模式和引擎。 埃默里(Emory)-和埃默里·埃里克森(Emory Erickson)一样。 ##概述Emory解决了全栈开发人员不得不编写无脑的Javascript来运行其AJAX页面时所面临的持续,烦人...

    JSEventForm:JS 中的事件处理和解析表单

    JS 中的事件处理和解析表单 我创建了这个项目作为我自己的事件处理和表单解析解决方案。 在我的工作中,我不喜欢有很多事件监听器或大型开关盒。 此外,由于我使用了很多表单,因此我想排除一些逻辑,这些逻辑可以为...

    yii form 表单提交之前JS在提交按钮的验证方法

    很多时候,需要对Yii表单model中的对象设置的rules进行判断,但是有的时候可能需要在提交之前就在客户端进行验证。...接下来通过本文给大家分享yii form 表单提交之前JS在提交按钮的验证方法,需要的的朋友参考下

    Mandrill:Javascript 字段验证库。 无需表单或表单提交即可验证字段。 工作正在进行中

    灵活的 jQuery 表单验证,无需表单或表单提交。 版本 0.2 要求 jQuery >= 1.8 notify.js(将删除对内置和/或可定制的错误处理的要求) 安装 install mandrill.js install notify.js install jquery 测试 在浏览器...

Global site tag (gtag.js) - Google Analytics