PHP Javascript e php

De MediaWiki
Ir a la navegación Ir a la búsqueda

Introducción

  • Neste módulo se presupón que o alumno xa coñece javascript, ao cursar o módulo Desenvolvemento Web en Contorno Servidor, polo que non se vai explicar o funcionamento de Javascript ou JQuery.



Exemplos de uso


Confirm personalizado

  • Cando pedimos confirmación para borrar un dato, podemos obter o nome do dato e amosalo como parte da cadea de confirm.
        @foreach ($perfumes as $perfume)
            <tr>
                <td>{{ $perfume->descripcion }}</td>
                <td>{{ $perfume->prezo }}</td>
                <td>{{ $perfume->data_compra }}</td>
                <td>
                    <a style='text-decoration:none' href="{{ route('perfumes.edit', ['perfume' => $perfume->id]) }}">Modificar</a>

                    <form action="{{ route('perfumes.destroy', ['perfume' => $perfume->id]) }}" method="POST"
                        style="display:inline;">
                        @csrf
                        @method('DELETE')
                        <input type="hidden" name="id" value="{{ $perfume->id }}">
                        <button type="submit"
                            onclick="return confirm('Estás seguro de eliminar o perfume {{ $perfume->descripcion }}?');"
                            style="background:none;border:none;color:blue;cursor:pointer;">Eliminar</button>
                    </form>
                </td>
            </tr>
        @endforeach



Alertas javascript con datos do servidor

Cando damos de alta un novo perfume, o id xerado aparece en pantalla.
Imaxinemos que queremos enviar o dato a unha función javascript que amose cun alert o id xerado.
  • Creamos o arquivo resources/views/mensaxes/alertas_javascript.blade.php
@if (Session::has('javascriptalert') && !empty(Session::get('javascriptalert')))
    <script>
        var msg = '{{Session::get('javascriptalert')}}';
        alert(msg);
    </script>
@endif
Basicamente estamos a preguntar se existe a variable de sesión 'javascriptalert' para amosar o contido cun alert.


  • Incluimos dito arquivo na vista resources/views/perfumes/form_alta_perfumes.blade.php
O poñemos nesta vista xa que cando damos de alta un perfume nos mantemos nesta pantalla. Se non fora o caso, por exemplo, se cargamos index, teríamos que poñelo nesa.
   ..........

    @include('mensaxes.alertas_javascript')

@endsection


  • Agora no controlador cando queiramos enviar a mensaxe do novo perfume creado: Arquivo: app/Http/Controllers/PerfumeController.php
   ...........
   return redirect(route('perfumes.create'))->with(['idPerfume' => $perfume->id])->with('javascriptalert',"Perfume creado correctamente có id $perfume->id");




Volver á UD7


-- Ángel D. Fernández González -- (2024).