jQuery MiniUI

 找回密码
 立即注册
查看: 1547|回复: 6
打印 上一主题 下一主题

搜索提交的时候是对象,不是值,请问怎么处理。 [复制链接]

Rank: 4

跳转到指定楼层
楼主
发表于 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. };
复制代码



Rank: 8Rank: 8

沙发
发表于 2017-1-6 09:28:42 |只看该作者
datepicker的值是date,date本来就是个对象,ajax里面无法直接传递,请转成字符串传递。
$.ajax({
   。。。。
    data: {
        start: new Date(),
        end: new Date()
    }
})

Rank: 4

板凳
发表于 2017-1-6 13:47:48 |只看该作者
dforce 发表于 2017-1-6 09:28
datepicker的值是date,date本来就是个对象,ajax里面无法直接传递,请转成字符串传递。
$.ajax({
   。。。 ...

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

Rank: 4

地板
发表于 2017-1-6 13:50:02 |只看该作者
dforce 发表于 2017-1-6 09:28
datepicker的值是date,date本来就是个对象,ajax里面无法直接传递,请转成字符串传递。
$.ajax({
   。。。 ...

怎么回复的时候贴代码会少了一大截,,,你给的这个例子能具体说说么,我不明白,new date是获取新的时间了,不是datepicker提交来的。。。。

Rank: 8Rank: 8

5#
发表于 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获取到的数据是无法直接传递的

Rank: 4

6#
发表于 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不同其他参数完全一样,在添加表单、修改表单的时候都没问题都不用处理,为什么到了搜索就不行呢。。。。

Rank: 8Rank: 8

7#
发表于 2017-1-8 13:51:44 |只看该作者
wise 发表于 2017-1-6 17:57
处理完成以后转字符串以后得到的是这种样子的:Fri Dec 30 2016 17:53:04 GMT+0800

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

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

Archiver|普加软件

GMT+8, 2024-7-2 22:50 , Processed in 1.026110 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部