如何开机自检输入字段,这些输入字段已禁用/只读,但有条件



如果尚未按下按钮,我正在尝试禁用或只读我的输入字段,但是在添加使其禁用或只读的条件后,我在将其发布/提交到数据库时遇到问题

    <form action="{{ route('amber.timestone.home.start', $task->id) }}" method="POST" class="align-center">
                                {{csrf_field()}}
                            <td>
                                <input class="my-2" type="text" name="ref" value="{{ $task->ref }}"
                                    @if(empty($task->start))
                                        readonly
                                    @endif
                                >

public function startTask($id)
    {
        $user = Task::find($id);
        $user->start = Carbon::now();
        $user->save();
        return back();
    }
public function endTask($id, Request $request)
    {
        $user = Task::find($id);
        $user->end = Carbon::now();
        $start = Carbon::parse($user->start);
        $end = Carbon::parse($user->end);
$user->ref = request('ref');
        $user->remarks = request('remarks');
        $user->campaign = request('campaign');
        $user->type = request('type');
            $hours = $end->diffInHours($start);
            $minutes = $end->diffInMinutes($start);
            $seconds = $end->diffInSeconds($start);
            $user->duration = $hours . ':' . $minutes . ':' . $seconds;
            $user->update();
            return back();
        }

我尝试添加与只读条件仍然不起作用的人相同的名称的隐藏

禁用字段不会随请求一起发布,但您可以添加只读属性。

您可以做的另一件事是出于 UI 目的禁用该字段,并在下面添加具有相同名称和值的隐藏输入。

HTML是一种标记语言,它突出了数据语义,而不是数据被看到的方式(例如,使用<strong>使文本加粗是一种完全错误的方式(。因此,您应该使用CSS自定义的文本容器(主要是<div><span>(来封装它并且是只读的。然后,就像Adam abdul shakoor建议的那样,您可以使用具有相同值的隐藏输入。你还应该考虑使用 VueJS(已经打包在 Laravel 中(,它的数据驱动方法使这种事情变得微不足道,以保持容器和输入的内容同步。

你怎么看?如果您有需要发回的值,请将其放在隐藏的输入字段中。所以你可以用css创建一个假字段,也许。但是,如果您不想发送任何数据,只是为了显示它,您可能只是不将隐藏的输入字段包含在值中。

相关内容

  • 没有找到相关文章

最新更新