从一个窗体laravel php提交两个按钮

时间:2017-01-01 11:19:47

标签: php laravel-5.3

我想在一个表单中使用两个提交按钮。 这是我的刀片文件

<input type="submit" id="submit" name="Submit" value="Submit">
<input type="submit" id="pay" name="Pay Now" value="Pay ">

这是我在控制器中声明函数的方式

 public function postAuth()
    {  
        if(Input::get('submit')) {

            $this->postSubmit(); 
        } elseif(Input::get('pay')) {

            $this->postPay(); 
        }

    }

    public function postSubmit()
    {
        echo "We're logging in";
        return Redirect::to('/Admin/channel');
    }

    public function postPay()
    {
        echo "We're registering";
        return Redirect::to('/pay');
    }

这是我的web.php

Route::post('/abc', 'channelController@postAuth');

但我的控制器功能存在问题..我该如何纠正?

3 个答案:

答案 0 :(得分:2)

尝试如下......

HTML

@javax.faces.view.ViewScoped
@Named
public class TrgsLazyDataActions extends TrgsActionsBase implements Serializable {


//The Parameter trgs is null. I don't know why ?  
public String getTrafficColor(Trgs trgs) {
    Factory auditedFactory = getAuditedTrgs(trgs.getTrgsID()).getFactory();
    if (trgs.getAtp() < auditedFactory.getAtpMin()) {
      return Consts.RED;
    } else if (trgs.getAtp() > auditedFactory.getAtpMax()) {
      return Consts.YELLOW;
    } else {
      return Consts.GREEN;
    }
  }
 }

功能

 <input type="submit" id="submit" name="submit" value="send">
  <input type="submit" id="pay" name="submit" value="pay">

答案 1 :(得分:0)

我刚刚更改了控制器,如下所示

public function postAuth()
    {
        if (Input::get('submit') == 'send') {

            return redirect(url('/Admin/channel'));
        } elseif (Input::get('submit') == 'pay') {

            return redirect(url('/pay'));
        }

    }

答案 2 :(得分:0)

首先,您可以使用jQuery验证器。您可以下载:https://plugins.jquery.com/validation/

然后你可以删除标签并使用。

在submitHandler

        submitHandler: function (form) {
                                  var loading_el = $('#pay');