【发布时间】:2014-03-10 20:05:25
【问题描述】:
打开一个将提交到特定 url 的表单非常容易:
echo Form::model($model, array('route' => array('user', $user->id)))
这将呈现如下内容:
<form action="/user/1">
我想要:
<form action="/user/1?q=54">
换句话说,如何更改表单方法以支持添加查询参数,在这种情况下称为“q”?
问这个问题的一个更简单的方法是:有没有办法使用 Route 生成 URL 以包含查询参数?
【问题讨论】:
-
您是否有理由不能只添加一个名为 q 的隐藏字段并将其值设置为 54?这样就可以像对待任何其他 GET 或 POST 变量一样对待它。
-
只是不太整洁。我不想添加整个字段只是为了稍微改变行为。
-
您使用的是 POST 还是 GET?
-
这是一个 POST,但它真的重要吗?因为我只想让“动作”包含 Q=whatever
-
表单是 GET 还是 POST 很重要 - GET 表单无法使用问号语法在操作中指定 GET 参数,因为当表单从其输入生成 URL 时它会被丢弃.至于你的具体问题,我不确定。我说检查
UrlGenerator和FormBuilder代码,看看它们是否处理将查询字符串附加到 URL。