`

form serialize() for jquery or Ext

    博客分类:
  • js
 
阅读更多

jQuery ajax - serialize()

 

定义和用法

serialize() 方法通过序列化表单值,创建 URL 编码文本字符串。

您可以选择一个或多个表单元素(比如 input 及/或 文本框),或者 form 元素本身。

序列化的值可在生成 AJAX 请求时用于 URL 查询字符串中。

语法

$(selector).serialize()

详细说明

.serialize() 方法创建以标准 URL 编码表示的文本字符串。它的操作对象是代表表单元素集合的 jQuery 对象。

表单元素有几种类型:

 

<form>
  <div><input type="text" name="a" value="1" id="a" /></div>
  <div><input type="text" name="b" value="2" id="b" /></div>
  <div><input type="hidden" name="c" value="3" id="c" /></div>
  <div>
    <textarea name="d" rows="8" cols="40">4</textarea>
  </div>
  <div><select name="e">
    <option value="5" selected="selected">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
  </select></div>
  <div>
    <input type="checkbox" name="f" value="8" id="f" />
  </div>
  <div>
    <input type="submit" name="g" value="Submit" id="g" />
  </div>
</form>
.serialize() 方法可以操作已选取个别表单元素的 jQuery 对象,比如 <input>, <textarea> 以及 <select>。不过,选择 <form> 标签本身进行序列化一般更容易些:

$('form').submit(function() {
  alert($(this).serialize());
  return false;
});

 

 

输出标准的查询字符串:

a=1&b=2&c=3&d=4&e=5

遇到乱码时,前台decodeURIComponent(params) ,在后台处理传过来的参数时,添加以下代码:

java.net.URLDecoder.decode(params , "UTF-8");

 

Ext  serializeForm

 

             if (!codeForm.getForm().isValid()) {   
                        return;   
                    }   
var formStr = Ext.Ajax.serializeForm(codeForm.getForm().getEl().dom);   
                alert(formStr + ", " + codeForm.getForm().getValues(true));   
                alert(addUrl);   
  
                    codeForm.getForm().submit({   
                        waitMsg: '正在保存,请稍候...'  
//                      success: function(form, action) {   
//                          //alert(codeForm.getForm().getValues(true));   
//                          alert("success: " + form.getValues(true) + " | " );   
//                      },   
//                      failure: function(form, action) {   
//                          alert("failure: " + form.getValues(true) + " | ");   
//                      }   
                    }); 

 

0
0
分享到:
评论

相关推荐

    jquery-1.1.3 效率提高800%

    Safari 2 3575ms 475ms 753% Opera 9.1 3196ms 326ms 980% Average improvement: 867% &lt;br&gt;下表为jQuery1.1.3与常用的一些JS库选择器的对比: Browser Prototype jQuery Mootools Ext Dojo ...

    js动态生成form 并用ajax方式提交的实现方法

    注意,`Ext.Ajax.request`方法的`form`参数是表单的ID,而非DOM元素。这与jQuery的`$.ajax`略有不同。 总结,动态生成form并使用Ajax提交数据的实现方式包括但不限于以下步骤: 1. 使用JavaScript的`createElement`...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -这样所有需要占据全屏的Panel(不管你是Accordion,Panel,ContentPanel,Form,GroupPanel,SimpleForm,Tree还是Grid,TabStrip)都可以通过这种方式全屏。 -简单方便,示例可以参考 default.aspx 或者 other\...

    ExtAspNet_v2.3.2_dll

    -增加示例:form/form_validate.aspx +2009-10-19 v2.1.3 +增加支持在AJAX时改变的控件属性列表(/ajax.aspx)。 -ExtAspNet支持原生的AJAX,也就是说控件的属性改变在AJAX过程中会反映到页面中,但并不是...

    django项目简单调取百度翻译接口的方法

    $.post('/apply/fanyi/', $('#form').serialize(), function (data) { if (data['status'] === 0) { layer.alert(data['info'], { skin: 'layui-layer-molv' // 样式类名 , closeBtn: 0 }) } else { layer....

    Ajax toolkit prototype PPT

    Prototype作为Ajax框架的先驱,它的设计理念和API对后来的jQuery、Pojo、Ext、YUI等框架产生了深远影响。虽然如今有更多强大的库和框架出现,但Prototype的简洁性和实用性仍使其在某些场景下保持了其价值。

Global site tag (gtag.js) - Google Analytics