想咨询一个 springMVC 的问题。<form:input> 这个标签的 path 可以通过 js 取值或设值吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a Javascript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
Javascript 权威指南第 5 版
Closure: The Definitive Guide
hjpotter
V2EX    Javascript

想咨询一个 springMVC 的问题。<form:input> 这个标签的 path 可以通过 js 取值或设值吗?

  •  
  •   hjpotter 2018-11-15 23:55:09 +08:00 4694 次点击
    这是一个创建于 2523 天前的主题,其中的信息可能已经有所发展或是发生改变。
    刚接触一个以前的项目,之前里面的日期输入用的都是<form:input>标签
    类似

    <form:input path="date"/>

    <form:errors path="date"/>

    这种,前台输入一个日期,后台判断是不是 yyyy-MM-dd 格式,不是就报 error message。

    现在领导要我们改成-各国客户通过 jquery 的 Datepicker 日历点击输入日期,然后根据各国的习惯自动转换格式,比如越南转化成 dd MM yy,显示在输入框里就是 16 11 2018。
    转换后问题就来了,后台的判断日期格式 check 要全部根据当前语言分成不同 patten,而且由于项目局限不能在 form 里进行,工程量实在有些庞大。
    我就在想能不能在 form 提交的那一刻,用 js 取出 path 里的值,然后手动将其转成 yyyy-mm-dd 格式再提交。
    普通的 input 可以设 id 之类的用来取值,但 form:input 应该怎么操作呢?有可能的话还是想少修改之前的代码。卡了一晚上了,不知道大家有没有时间帮着指点一二,多谢!
    11 条回复    2018-11-16 11:37:59 +08:00
    night98
        1
    night98  
       2018-11-16 02:55:47 +08:00 via Android   1
    显示的和实际传值区分一下就行了。。
    hjpotter
        2
    hjpotter  
    OP
       2018-11-16 08:57:15 +08:00
    @night98 您是指在 Datepicker 日历点击输入日期,格式转化之前的默认值存到 hidden 里面,最后 error check 的时候提交这个?
    wleexi
        3
    wleexi  
       2018-11-16 09:08:02 +08:00
    后台用国际化方式做成当地的 patten 不行?
    Antihank
        4
    Antihank  
       2018-11-16 09:22:53 +08:00
    Datepicker 肯定有 format 参数吧,controller 在转到 jsp 页面的时候传一个 format 的参数,然后在 jsp 页面放到 Datepicker 的参数里,比如 model.addAttribute("dateFormat","yyyy-MM-dd"),
    然后页面 datePicker:{dateFmt:'${dateFormat}'}。
    Antihank
        5
    Antihank  
       2018-11-16 09:23:48 +08:00
    那个 format 就由后台通过国际化来选择咯。
    Antihank
        6
    Antihank  
       2018-11-16 09:25:59 +08:00
    oh,又没仔细看问题。。。忽略我吧。。。
    TomatoYuyuko
        7
    TomatoYuyuko  
       2018-11-16 09:30:54 +08:00
    return false 阻断默认提交动作,onclick 一个方法去抓值,处理完了 submit()执行表单提交。
    form:input 的话你可以活用选择器抓啊,比如加个不占地方的 label 放边上,抓 next。方法很多
    hjpotter
        8
    hjpotter  
    OP
       2018-11-16 09:48:53 +08:00
    @wleexi 那个需要改非常多的地方,有可能的话还是想在前台提前处理。
    hjpotter
        9
    hjpotter  
    OP
       2018-11-16 09:49:14 +08:00
    @TomatoYuyuko 是个好办法,感谢!
    519718366
        10
    519718366  
       2018-11-16 11:24:10 +08:00
    form:input 也可以像普通的 input 一样加 id 进行取值的
    hjpotter
        11
    hjpotter  
    OP
       2018-11-16 11:37:59 +08:00
    发现了,<form:input> 这个标签会在编译成 html 的时候自动生成一个 id,比如 path 是 fromDate,id 就是 fromDate,用这个取值就行。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2905 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 14:13 PVG 22:13 LAX 07:13 JFK 10:13
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86