【问题标题】:Submit a Form to Custom URL in Laravel 4在 Laravel 4 中向自定义 URL 提交表单
【发布时间】:2014-11-16 00:50:25
【问题描述】:

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

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

【问题讨论】:

    标签: forms url laravel laravel-4


    【解决方案1】:

    要在页面加载后更改 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,然后将以下 jQuery 插入到您的视图(或您导入的单独 .js 文件)中:

    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;
    }
    

    【讨论】:

      【解决方案2】:

      你不能这样做,但如果你需要做这样的事情,你需要提交到标准类控制器,然后使用重定向重新提交:

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

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

      【讨论】:

      • 感谢 Marcin 的回复。我想像这样提交用户输入的原因是我想利用漂亮的 url。我创建了一条路线: ../from_date/{from_date}/to_date/{to_date} 它将拉出从日期到结束日期之间发布的所有帖子。您认为实现此功能的最佳方式是什么。
      • 这是否意味着 Pretty Urls 只有在我们将它们用作链接时才能工作。我们如何使用用户输入作为漂亮 URL 的参数。非常感谢您的帮助。
      • @ComradeRaj 你可以重定向到漂亮的网址,就像我在上面展示的那样
      猜你喜欢
      • 1970-01-01
      • 2021-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多