在Laravel 4中将表单提交到自定义URL

时间:2014-09-22 06:05:45

标签: forms url laravel laravel-4

我有一个简单的表单,允许用户输入from_dateto_date。让我们说用户分别输入2014-09-012014-09-10

如何将此表单提交到网址../from_date/2014-09-01/to_date/2014-09-10

2 个答案:

答案 0 :(得分:1)

你不能这样做但是如果你需要做这样的事情,你需要提交给标准类Controller,然后使用重定向重新提交它:

public function resubmit() {
   Redirect::to('/from_date/'.Input::get('from_date').'/to_date/'.Input::get('to_date'))->withInput();
}

但说实话,我不知道你为什么要这样做。通常,您将数据发布到静态网址,并使用带有漂亮网址的动态网址显示内容。

答案 1 :(得分:0)

要在页面加载后更改URL,您需要使用javascript,因为您无法使用Laravel / PHP执行此操作,因为您需要访问日期,这些日期仅在页面已加载。

如果您的表单类似于:

<form id="dateForm" onsubmit="return submitDateForm()">
  <input type="text" id="from_date" name="from_date">
  <input type="text" id="to_date" name="to_date">
</form>

假设您使用POST进行表单提交,并且已经导入了jQuery,那么插入您的视图(或您导入的单独.js文件)以下jQuery:

function submitDateForm() {
  var from_date = $( '#from_date' ).val();
  var to_date = $( '#to_date' ).val();

  //Send the request
  var request = $.post("../from_date/" + from_date + "/to_date/" + to_date);

  //prevent the form from submitting itself normally
  return false;
}