jQuery MiniUI

标题: 搜索提交的时候是对象,不是值,请问怎么处理。 [打印本页]

作者: wise    时间: 2017-1-5 20:17:43     标题: 搜索提交的时候是对象,不是值,请问怎么处理。

本帖最后由 wise 于 2017-1-5 20:39 编辑

点击提交搜索,会报错,查看浏览器跟踪,提交过去的表单里面的时间mini-datepicker是对象,求解。。

我的搜索代码这么写的
  1. function ( formId, dataGridId ) {
  2.     //获取表单数据
  3.     var form = new mini.Form( "#" + formId + "" );
  4.     form.validate();
  5.     if ( !form.isValid() ) {
  6.         return false;
  7.     }
  8.     var formData = form.getData(true);
  9.     //序列化表单数据
  10.     var serializeFormData = mini.encode( formData );
  11.     console.log( serializeFormData );
  12.     //替换表单名
  13.     var formParameter = serializeFormData.replace( eval( "/" + formId + "+/g" ), "" );
  14.     console.log( formParameter );
  15.     //反序列化表单数据
  16.     var deserializeFormData = mini.decode( formParameter );
  17.     console.log( deserializeFormData );
  18.     //数据显示容器
  19.     var grid = mini.get( ""+dataGridId+"" );
  20.     grid.load( deserializeFormData );
  21. };
复制代码




作者: dforce    时间: 2017-1-6 09:28:42

datepicker的值是date,date本来就是个对象,ajax里面无法直接传递,请转成字符串传递。
$.ajax({
   。。。。
    data: {
        start: new Date(),
        end: new Date()
    }
})
作者: wise    时间: 2017-1-6 13:47:48

dforce 发表于 2017-1-6 09:28
datepicker的值是date,date本来就是个对象,ajax里面无法直接传递,请转成字符串传递。
$.ajax({
   。。。 ...

但是我在除了搜索表单、、比如新增、编辑都是直接就提交都好好的呢。。。日期时间代码还是一样的代码,奇怪了,在搜索表单里面就不行了。
--------------------------------------
我的搜索表单是这么写的:
  1. <form id="__aaa__" name="__aaa__">
复制代码


作者: wise    时间: 2017-1-6 13:50:02

dforce 发表于 2017-1-6 09:28
datepicker的值是date,date本来就是个对象,ajax里面无法直接传递,请转成字符串传递。
$.ajax({
   。。。 ...

怎么回复的时候贴代码会少了一大截,,,你给的这个例子能具体说说么,我不明白,new date是获取新的时间了,不是datepicker提交来的。。。。
作者: dforce    时间: 2017-1-6 14:11:26

wise 发表于 2017-1-6 13:50
怎么回复的时候贴代码会少了一大截,,,你给的这个例子能具体说说么,我不明白,new date是获取新的时间 ...

grid.load({key1:value1,key2:value2....})就是
$.ajax({
   。。。。
    data: {
        key1: value1,
        key2: value2,
      ....
    }
})
datepicker获取到的数据就是date格式,
然而jquery传递的参数并不支持date格式,所以你datepicker获取到的数据是无法直接传递的
作者: wise    时间: 2017-1-6 17:57:03

dforce 发表于 2017-1-6 14:11
grid.load({key1:value1,key2:value2....})就是
$.ajax({
   。。。。

处理完成以后转字符串以后得到的是这种样子的:Fri Dec 30 2016 17:53:04 GMT+0800

我在时间控件里面设置的是 2016-01-19 14:23:43这种格式。。。

-------------
我就想不明白了,同样的时间控件,只有id和name不同其他参数完全一样,在添加表单、修改表单的时候都没问题都不用处理,为什么到了搜索就不行呢。。。。
作者: felt    时间: 2017-1-8 13:51:44

wise 发表于 2017-1-6 17:57
处理完成以后转字符串以后得到的是这种样子的:Fri Dec 30 2016 17:53:04 GMT+0800

我在时间控件里面设 ...

我们上面跟你解释了,jquery的ajax无法直接传递date




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2