Laravel表单提交收到undefined

时间:2014-05-05 07:07:23

标签: php jquery laravel

修改 我刚刚发现,错误是从我的jquery.mobile-1.1.2.min.js生成的。 我不知道为什么,我也不知道如何修复它,但我想,我应该知道。

出于某种原因,我无法提交。请帮忙。

这些是我的路线:

    Route::get('forms/{unit_id}/{qr_id}', 'FormController@index');
Route::resource('units.qr.score', 'ScoreController');

这些是我的控制器:

的FormController:

public function index($unit_id, $qr_id)
{
    //
    return View::make('form.index')
        ->with('unit_id', $unit_id)
        ->with('qr_id', $qr_id);
}

ScoreController:

public function index()
{
    //
    return '<h1>Yeeeeeas?!</h1>';
}


    **// EDIT: Changed show to store**
public function store($unit_id, $qr_id)
{
    //
    return $unit_id;
}

这是我的观点:

    <!DOCTYPE html> 
<html> 
<head> 
    <title>My Page</title> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.2/jquery.mobile-1.1.2.min.css" />
    <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.1.2/jquery.mobile-1.1.2.min.js"></script>
</head> 
<body> 

<div data-role="page">

    <div data-role="header">
        <h1>Title rockt</h1>
    </div><!-- /header -->

    <div data-role="content">   
        <p>Hello world</p>  
        {{Form::open(array('route' => array('units.qr.score.store', $unit_id, $qr_id)))}}

            {{Form::label('rating1')}}
            {{Form::input('range', 'rating1', 50, array('min' => '0', 'max' => '100', 'data-highlight' => 'true', 'id' => 'rating1', 'placeholder' => 'What the fuck?'))}}

            {{Form::label('Test1')}}
            {{Form::text('Test1')}}

            {{Form::submit('Submit')}}

        {{Form::close()}}   

    </div><!-- /content -->

</div><!-- /page -->

</body>
</html>

所以,我不知道为什么当我按下提交按钮时,我只是收到消息&#34; undefined&#34;。 如果我重新加载它会从我的ScoreController中返回正确的值。

以下是截图:http://imgur.com/NVtuwUa.jpg

请帮助。

Thx和很多爱,

乔治

3 个答案:

答案 0 :(得分:1)

您遇到了jQuery Mobile的问题。

您需要返回一个完整的jQuery Mobile页面。

相关问题:

答案 1 :(得分:0)

商店不应该有参数。使用Input :: get('unit_id','unit id empty');它已发布。

编辑: 并将单位ID等作为隐藏输入..

答案 2 :(得分:0)

根据decker正确编写的内容,解决方案是将以下参数插入每个链接并提交按钮:

 data-ajax="false"

像这样:

 {{Form::open(array('url' => 'whatever', 'method' => 'POST', 'data-ajax' => 'false'))}}

或者像这样:

 {{link_to('whatever', 'whatever', array('data-ajax' => 'false'))}}

这是另一种资源:

jQuery Mobile links not working without data-ajax="false", why?