无法使用laravel中的方法获取textarea值

时间:2015-12-05 12:21:49

标签: javascript php laravel

// post / createPlay

<div id="code">
<h2 >源代码</h2>
<textarea id="textArea" onkeyup="runCode()" >@if(isset($code)) {{$code}} @endif</textarea>
</div>

<div id="result">
<h2 >显示效果</h2>
<iframe  src="about:blank" id="iFrame" contentEditable="true" ></iframe>
</div>

</div><!--end of playMain-->   

//页面表单

<form action="http://localhost/html5lav/public/post/playAction" method="post">
<textarea name="playCode">  
    &lt;!DOCTYPE&gt;
    &lt;html&gt;
    &lt;body&gt;

      &lt;div class="circle red"&gt;&lt;/div&gt;
      &lt;div class="circle green"&gt;&lt;/div&gt;

    &lt;/body&gt;
    &lt;/html&gt;
</textarea> 
<input type="submit" value="submit" />
</form>

// PostController中

public function createPlay(){
    return View::make('frontend.post.play');
}
public function playAction(){ 
  $code = Input::get('playCode');
  return Redirect::route('createPlay')->with('code', $code);
}

//路线

  Route::get('post/createPlay', array(
   'uses' => 'PostController@createPlay',
   'as' => 'createPlay'
  ));

  Route::post('post/playAction', array(
   'uses' => 'PostController@playAction',
   'as' => 'playAction'
  ));

我想做的是从表单页面获取textarea值,并通过'with'方法将“Input :: get('playCode')”数据传输到'post / createPlay'页面,以便在'post / createPlay'页面中,我们可以在textarea(其id为textArea)中传输数据,并通过从同一页面中的textarea再次获取数据,使用js在iframe元素中显示。但我尝试了很多次,但没有成功。变量$ code只是空的。

1 个答案:

答案 0 :(得分:1)

你没有向视图传递任何内容。您需要使用$code的第二个参数或使用View的View::make()方法将with发送到视图。

您正在发送带有数据的重定向,该数据会将所述数据闪烁到会话中,以便您可以从会话中检索它并将其发送到视图,如下所示。

return View::make('frontend.post.play', ['code' => session('code')]);