V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jookr
V2EX  ›  问与答

[处女座有洁癖] 表单 GET 方法提交后未填字段怎么不显示在 url 里

  •  
  •   jookr · 2015-02-19 23:20:23 +08:00 · 2526 次点击
    这是一个创建于 3564 天前的主题,其中的信息可能已经有所发展或是发生改变。

    <form action="search.php" method="get">
    <p>name: <input type="text" name="name" /></p>
    <p>age: <input type="text" name="age" /></p>
    <input type="submit" value="search" />
    </form>

    例如只填其中的name,不填age
    未填字段怎么不显示在url里
    未优化的URL是
    search.php?name=111&age=
    需要的url是
    search.php?name=111

    祝大家新年快乐 大吉大利

    10 条回复    2015-02-21 18:16:32 +08:00
    caomu
        1
    caomu  
       2015-02-19 23:33:15 +08:00 via Android
    我个人要是有这种需求,就用jq拦截表单事件,判断一下字段,然后拼一下$.get。
    kslr
        2
    kslr  
       2015-02-19 23:39:59 +08:00 via Android
    不好,在后面你还要先判断存在否,然后再判断类型,这是洁癖?赶紧戒了
    yangqi
        3
    yangqi  
       2015-02-19 23:57:16 +08:00
    你这是闲的蛋疼吗?有这时间赶紧去医院治病啊
    Felldeadbird
        4
    Felldeadbird  
       2015-02-20 00:30:08 +08:00
    要么提交前remove不用的表单,要么就是自己拼接提交方式。
    上述方法,很快你会发现自己代码量多了,而且维护成本更高了。
    orvice
        5
    orvice  
       2015-02-20 00:37:02 +08:00
    = =lz再见。。。
    dotnil
        6
    dotnil  
       2015-02-20 01:26:39 +08:00
    换成 POST 或者改用 AJAX

    或者在表单提交之前判断一下表单里的 input,如果没有值就 disable
    873681136
        7
    873681136  
       2015-02-20 08:42:07 +08:00 via Android
    药不能停啊,我觉得你干脆直接改成post好了,眼不见心不烦
    FrankFang128
        8
    FrankFang128  
       2015-02-20 10:43:26 +08:00 via Android
    楼主对简洁的理解有问题啊
    shinwood
        9
    shinwood  
       2015-02-20 17:16:41 +08:00 via iPad
    get 多不安全,还要url转义什么的处理,还不如用post来得方便。
    fewspider
        10
    fewspider  
       2015-02-21 18:16:32 +08:00 via Android
    js判断是否为空,再拼数据,用ajax
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1277 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:44 · PVG 01:44 · LAX 09:44 · JFK 12:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.