layui表单提交问题

提问 未结
15 658
Eiger
Eiger 2018-4-16
悬赏:20飞吻
版本:layui 浏览器:chrome




图片描述,第一张为html表单元素代码:内部五个元素:第一个按钮只是装饰;中间两个日期时间输入组件;一个普通文本输入框;一个提交按钮。
第二张主要是为了使用laydate插件而加的代码。(这里本来是想用layui自己的form模块来进行自定义验证的,但莫名其妙的报错“form未定义”,详见我上一个提问)
第三、第四张是我自己写的脚本,主要作用是获取表单内容。点击搜索按钮后判断表单内容全部非空后执行ajax提交。
可能我的截图里会是isNaN或者!isNaN,这是因为我不论加感叹号去反还是不加,我浏览器页面无论输入与否,最后浏览器都会提示我“查询条件不能为空”。

求教,谢谢!
回帖
  • 为什么你要这样写?不是有监听事件吗
    <script>
    //Demo
    layui.use('form', function(){
    var form = layui.form;

    //监听提交
    form.on('submit(formDemo)', function(data){
    layer.msg(JSON.stringify(data.field));
    return false;
    });
    });
    </script>
    0 回复
  • Eiger
    2018-4-16
    @言小山 这个主要是因为使用的是thinkphp的框架,当时看thinkphp教程学的这么写,作登录验证等都这么写了,并没有问题。ps:小白一个,因为毕设问题才做这个
    0 回复
  • Eiger
    2018-4-16
    @言小山 主要是不清楚如果用layer.msg函数,后台php怎么获取数据,还是监听request么?
    0 回复
  • Eiger
    2018-4-16
    @言小山 还有一个顾虑则是我问题描述里提到的“form未定义问题”,即便使用layer.msg,如果连form都未定义,坑定行不通。

    我感觉我现在这样行不通,肯定是因为form未定义这个问题,但我比对其它成功案例和layui示例并没发现什么错误
    0 回复
  • @Eiger layer.msg() 只是弹出来让你看看表单的东西而已[哈哈] 你可以在form.on 里边写ajax的,多看文档
    http://www.layui.com/doc/modules/form.html#onsubmit
    0 回复
  • @Eiger 看看引入了layui没有
    0 回复
  • Eiger
    2018-4-16
    @言小山 [哈哈] 尴尬了,我试试。

    关于是否引入layui,这个我在stackflow上搜到一个跟我一样的问题,下边也有这样的回答。

    我现在的理解是:引入了layui.js文件不就叫引入layui吗?那这样的话我肯定是引入了啊。因为我还有其他的表单提交的部分是成功了的,(也不一定,我其他的提交全部都没有用form.xxxx,可能假如我用layui的事件监听也会报form未定义的问题)
    0 回复
  • @Eiger 好吧 你自己研究研究。。最基本的方法就是复制官网的例子改改
    0 回复
  • Eiger
    2018-4-16
    @言小山 如果没引入layui.js的话,laydate插件也是无法使用的吧,但我现在的结果是这个组件正常
    0 回复
  • Eiger
    2018-4-16
    0 回复
  • @Eiger 那你不会打印一下你的x y z 是什么吗?我也是小白,问你个问题,jq的 && 跟 &有什么区别
    0 回复
  • Eiger
    2018-4-16
    我也不知道[哈哈] ,我百度了一下,发现我用错了,&是位运算符,&&逻辑运算符
    0 回复
  • @Eiger isNaN() 函数用于检查其参数是否是非数字值,所以根本就没进到你的ajax里面[哈哈]
    0 回复
  • Eiger
    2018-4-16
    不是检查参数是否为空吗,,,尴尬了
    0 回复
  • Eiger
    2018-4-16
    @言小山 不是检查参数是否为空吗,,,尴尬了
    0 回复