在textarea中使用检索到的数据会在一开始就造成额外的空白

时间:2016-11-16 22:45:12

标签: php html laravel textarea blade

我的表单中有一个textarea,每次发布时都会在开头添加一个额外的空格(所以每次发布表单并将其保存到数据库时,它会在开头添加一个空格)

为了澄清这个场景,我正在为整个周期添加代码。

首先,这是我的形式和textarea的方式。它可以正常使用......

Dim total as Integer

Sub CustomersGridView_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles CustomersGridView.RowDataBound

    If e.Row.RowType = DataControlRowType.DataRow Then

      total = total + Convert.ToInt32(e.Row.Cells(the_column_index).Text) .
      txtTotalUnits.Text = Convert.ToString(total)

    End If

  End Sub

但是,为了显示保存在数据库中的数据,我使用Laravel的<form id="myForm" action="" method="post"> <textarea id="history" rows="25" class="form-control" name="history">DefaultVal</textarea> </form> 来回显该值。

{{ }}

我将数据发布到我的控制器后,我会收到带有<form id="myForm" action="" method="post"> <textarea id="history" rows="25" class="form-control" name="history">@if ($history) {{ str_replace('<br />', '&#13;', $history->value) }}@endif</textarea> </form> 的textarea,因此我首先使用nl2br添加\r\n,然后使用{<br />标记删除\r\n {1}}相应地:

str_replace()

此时,将其保存到数据库工作。检索数据也有效,并且不会在任何地方添加任何空格。但是,只要我在这样的textarea中显示它,我一发布就会在开头创建额外的空格:

public function receivePost(Request $request) {
     $newHistoryText = nl2br($request->history);
     $newHistoryText = str_replace(array("\r\n", "\n\r", "\r", "\n"), "", $newHistoryText);

     // save to database
}

更确切地说:

A)在返回视图之前使用dd()检索数据。

enter image description here

B)dd在控制器(<form id="myForm" action="" method="post"> <textarea id="history" rows="25" class="form-control" name="history">@if ($history) {{ str_replace('<br />', '&#13;', $history->value) }}@endif</textarea> </form> )中发布的表单数据:

enter image description here

我无法弄清楚这个问题的原因。我知道如果我不在同一行写dd($request->history)就会发生这种情况,但我做到了。 php标签也在同一行(我认为导致问题)但我找不到任何其他方式在textarea中显示数据。

0 个答案:

没有答案