Estoy usando laravel 5.2 e integrando summernote js en el sitio.

Quiero que cuando el usuario complete el formulario y haga clic en guardar, todos los datos se almacenen en la base de datos.

Funcionó para un solo campo pero no para dos o más.

Mi punto de vista:

    <form action="{{route('account')}}" id="acc" class="ac" method="post">
  <div class="col-lg-3"><label>Estado</label>

  @foreach($accounts as $account)
  @if($user== $account->user)
  {!! $account->estado !!}
  <textarea  style="display:none;" name="textfield4" id="textfield4"></textarea></div>

  <div class="col-lg-2 es" id="estado"></div>


 <a span class="fa fa-heartbeat"  id="sex" aria-hidden="true">
    </span></a>
</div>
  <div class="col-lg-4"></div>
</div>
<div class="row">
  <section class="col-lg-3"><div><br><label for="textfield5">I'm Good At:</label>


   <p>{!! $account->goodat !!}</p>


   <textarea  style="display:none;" name="textfield5" id="textfield5"></textarea></div>
  <div class="col-lg-2 es" id="goodat"></div>
   @endif
  @endforeach

Mi JS a la vista:

 <script>

var edit = function() {
  $('#estado').summernote({focus: true});
   $('#goodat').summernote({focus: true});
};

var save = function() {
  var makrup = $('#estado').summernote('code');
  $('#estado').summernote('destroy');

  var makrup = $('#goodat').summernote('code');
  $('#goodat').summernote('destroy');
};

$(".acc").submit(function(e) {
     var self = this;
     e.preventDefault();


    //$('#estado').summernote('destroy');
     var estado = $('#estado').summernote('code');
     $("#textfield4").html(estado); //populate text area



      var goodat = $('#goodat').summernote('code');
     $("#textfield5").html(goodat); //populate text area
     self.submit();
     return false; 


});



</script>

Mi controlador:

 se App\Account;

use Illuminate\Support\Facades\Auth;


class AccountController extends Controller
{

 public function account(Request $request)
    {

        $account = new Account();
        $account->estado = $request->input('textfield4');
        $account->goodat = $request->input('textfield5');
        $request->user()->accounts()->save($account);


        return redirect()->route('myplace',['username'=>Auth::user()->username]);
    }



}
2
YaSh Chaudhary 27 ago. 2016 a las 13:48

2 respuestas

La mejor respuesta

Como se discutió en el chat http://chat.stackoverflow.com/rooms/122478, faltaba el problema real

$(document).ready(function() { ... });

Y

$(".acc").submit(function(e) { ... });

La clase real del formulario era .ac, no .acc; sin embargo, la identificación es acc

Además, la edición debe cambiarse ya que no se pudo llamar directamente desde el evento onclick cuando se envolvió en la función lista.

En la discusión, puede encontrar el marcado de la página; pegar esto en un IDE completo mostrará toneladas de errores, por lo tanto, proporcionaré algunos consejos más sobre el estado del código.

  • Tiene muchas, muchas, muchas identificaciones duplicadas. No establezca id's en objetos que no necesitan ser identificados por una id, no es necesario. Si tiene un bucle, no puede simplemente decir id = "ejemplo"; cada vez que lo recorra, se creará una entidad con el mismo id. jQuery no podrá identificarlos. Si desea obtenerlos todos, use clases; si desea identificarlos directamente, use un incremento en su ciclo
  • Uso indebido del marcado: tiene divs en las etiquetas <ul> que no deberían hacerse.
  • </br> es incorrecto, use <br> o <br/>
  • muchas etiquetas que no cierran etiqueta B'day: etiqueta (dos veces se abre)
  • form action = "http: // localhost: 8000 / account" id = "acc" class = "ac" method = "post" no se cierra - no hay </form> para esto - no olvide llamar a Form ::cerrar()

Intente conseguir un editor adecuado que le ayude con estas cosas. Estoy usando intellij webstorm, que en realidad cuesta un poco (es gratis para los estudiantes).

2
Mr Lister 4 sep. 2016 a las 15:01

¿Ha validado que la entrada de la solicitud está presente en la función?

Tal vez podrías consultar con un:

dd($request);
-3
Robert Fridzema 27 ago. 2016 a las 13:25