【问题标题】:Laravel lightbox to show view/formLaravel 灯箱显示视图/表单
【发布时间】:2015-03-21 22:16:23
【问题描述】:

我已经充实了一个 Laravel 项目,但想做一些不同的事情,我正在使用 Bootstrap,所以弹出的标准导航和模式。

我想展示带有注册或登录表单的模式,但是您可以欣赏它当前的构建方式,一旦您点击登录或注册链接,它只会呈现页面视图。

所以我有我的意见/布局/navigation.blade.php

<div class="container navigation">
    <nav class="navbar navbar-default navbar-top">
            <li class="navbar-right"><a href="{{ URL::route('home') }}">Home</a></li>
      <div class="container">
            @if(Auth::check())
                <li><a href="{{ URL::route('account-sign-out') }}">Sign out</a></li>
                <li><a href="{{ URL::route('account-change-password') }}">Change password</a></li>
            @else
                <li><a href="{{  URL::route('account-sign-in') }}">Login</a></li>
                <li><a href="{{  URL::route('account-create') }}"><button type="button" class="btn btn-default navbar-btn data-toggle="modal" data-target="#myModal"">Sign Up</button></a></li>
            @endif
      </div>
    </nav>
</div>

除此之外,我有我的意见/帐户/create.blade.php 和意见/帐户/signin.php

@extends('layout.main')

@section('content')

    <form action="{{ URL::route('account-create-post') }}" method="post">

        <div class="field">
            Email: <input type="text" name="email"{{ (Input::old('email')) ? ' value="' . e(Input::old('email')) . '"' : '' }}>
            @if($errors->has('email'))
                {{ $errors->first('email') }}
            @endif
        </div>

        <div class="field">
            Username: <input type="text" name="username"{{ (Input::old('email')) ? ' value="' . e(Input::old('username')) . '"' : '' }}>
            @if($errors->has('username'))
                {{ $errors->first('username') }}
            @endif          
        </div>      

        <div class="field">
            Password: <input type="password" name="password">
            @if($errors->has('password'))
                {{ $errors->first('password') }}
            @endif          
        </div>

        <div class="field">
            Password Again: <input type="password" name="password_again">
            @if($errors->has('password_again'))
                {{ $errors->first('password_again') }}
            @endif          
        </div>          

        <input type="submit" value="Create Account">
        {{ Form::token() }}
    </form>

@stop 

我真的希望导航中的按钮启动模态并显示其中的表单吗?艾米对如何解决这个问题的想法?

【问题讨论】:

    标签: php html css twitter-bootstrap laravel


    【解决方案1】:

    我希望我的问题是正确的。实现您想要的关键应该是一个名为嵌套视图的概念,this coderwall 对此进行了很好的解释。另外,请查看laravel docs on views(段落将子视图传递给视图)。

    您必须为您的登录表单创建一个视图,并将其嵌套在登录模式以及标准登录视图(如果有的话)中。希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      您基本上将在客户端使用 Javascript 来显示表单并处理对服务器的请求和服务器的响应。我会:

      1. 选择一个可以为您显示模态表单的 CSS/Javascript 框架
      2. 将您的正常表单生成放在它显示的对话框中
      3. 在模态对话框的提交按钮上有一个 Javascript 处理程序,该处理程序将 AJAX 发布到 Laravel 中的新 RESTful HTTP 端点,该端点调用您的标准注册表单使用的相同逻辑,但发回您的 AJAX 代码可以理解的响应(例如成功或失败,并带有错误消息)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-27
        • 2013-12-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多