简体   繁体   English

在表单上使用jQuery,Laravel 5.3在表单外部将数据发送到div上

[英]Send data of form to div on submitting , outside the form using jQuery, laravel 5.3

this is my form 这是我的表格

      <form method="post" action="{{url('/vpage')}}"> 
      <input type="hidden" name="_token" value="{{ csrf_token() }}">

      <label>First Name</label>
           <input type="text" name="firstname" placeholder="First Name" value="{{$user->firstname}}" >

      <label>Email Address</label>
          <input type="text" name="email" placeholder="Email Address"  value="{{$user->email}}" >

      <label>Phone Number <span> (optional)</span></label>
             <input type="text" name="phone" placeholder="(888) 888-888" value="{{$user->phone}}" >

      <button id="hitme" class="submitBTN getstart" type="submit" onclick='return false;'> Get Started </button> 
       </form> 

this is div outside the form 这是表格以外的div

   <div class="vgasRit">
        <p>SUMMARY</p>
           <div class="sfieldz w100">

              <label>Name:</label>
              <input type="text" placeholder="John Smith" value="{{$user->firstname}}">

          </div>
          <div class="w100">
              <label>Email Address:</label>
              <input type="text" placeholder="johnsmith@gmail.com" value="{{$user->email}}" >
           </div>

            <div class="w100">
               <label>Phone Number:</label>
            <input type="text" placeholder="(888) 888-888" value="{{$user->phone}}">
             </div>
    </div>

I want to access the value of the "fistname" , "lastname" and "phone" as user submit the form,so that i can display it in summary div. 我想在用户提交表单时访问“ fistname”,“ lastname”和“ phone”的值,以便我可以在摘要div中显示它。

Note: i have tried compact function of php in my controller so that i can send the whole database object in my view but this solution not working , after using compact function i was access the object like this 注意:我已经在控制器中尝试了php的压缩函数,以便可以在我的视图中发送整个数据库对象,但是此解决方案不起作用,使用压缩函数后,我像这样访问对象

    <input type="text" placeholder="John Smith"  value="<?= (!empty($group_data)) ? $group_data->firstname : '';?>">

Any ideas regarding this ? 有什么想法吗? i am new to laravel. 我是Laravel的新手。 I have served several hours on internet but nothing found out. 我已经在互联网上服务了几个小时,但一无所获。

Assuming everything is on the same page, give your form's inputs an id: 假设所有内容都在同一页面上,请为表单的输入提供一个ID:

<form id="form" method="post" action="{{url('/vpage')}}"> 
<label>First Name</label>
       <input id="firstname" type="text" name="firstname" placeholder="First Name" value="{{$user->firstname}}" >

  <label>Email Address</label>
      <input id="email" type="text" name="email" placeholder="Email Address"  value="{{$user->email}}" >

  <label>Phone Number <span> (optional)</span></label>
         <input id="phone" type="text" name="phone" placeholder="(888) 888-888" value="{{$user->phone}}" >

Give your summary div inputs an id too: 也给您的摘要div输入一个ID:

<p>SUMMARY</p>
       <div class="sfieldz w100">

          <label>Name:</label>
          <input id="firstname2" type="text" placeholder="John Smith" value="{{$user->firstname}}">

      </div>
      <div class="w100">
          <label>Email Address:</label>
          <input id="email2" type="text" placeholder="johnsmith@gmail.com" value="{{$user->email}}" >
       </div>

        <div class="w100">
           <label>Phone Number:</label>
        <input id="phone2" type="text" placeholder="(888) 888-888" value="{{$user->phone}}">
         </div>

Then, use jquery to get those values when the user submits the form: 然后,当用户提交表单时,使用jquery获取这些值:

$('#form').submit(function() {
    // set our summary div inputs values with our form values
    $('firstname2').val($('firstname').val());
    $('email2').val($('email').val());
    $('phone2').val($('phone').val());
});

That should be it. 应该是这样。

Your view (I assumed that form and summery div in same view): 您的观点(我认为表单和summer div在同一观点中):

        <form method="post" action="{{url('/vpage')}}">
            <input type="hidden" name="_token" value="{{ csrf_token() }}">

            <label>First Name</label>
            <input type="text" name="firstname" placeholder="First Name" value="{{$user->firstname}}">

            <label>Email Address</label>
            <input type="text" name="email" placeholder="Email Address" value="{{$user->email}}">

            <label>Phone Number <span> (optional)</span></label>
            <input type="text" name="phone" placeholder="(888) 888-888" value="{{$user->phone}}">

            <button id="hitme" class="submitBTN getstart" type="submit" onclick='return false;'> Get Started</button>
        </form>


@if($Data->input('firstname'))
      <p>SUMMARY</p>


           <div class="sfieldz w100">

              <label>Name:</label>
              <input id="firstname2" type="text" placeholder="John Smith" value="{{$Data->input('firstname')}}">

          </div>
          <div class="w100">
              <label>Email Address:</label>
              <input id="email2" type="text" placeholder="johnsmith@gmail.com" value="{{$Data->input('email')}}" >
           </div>

            <div class="w100">
               <label>Phone Number:</label>
            <input id="phone2" type="text" placeholder="(888) 888-888" value="{{$Data->input('phone')}}">
             </div>

@endif

Contoroller Contoroller

function vpageController(Request $r){
  return view("path.to.view",['Data'=>$r]);
}

Route: 路线:

Route::Route::match(['POST', 'GET'],'/vpage', 'ControllerName@vpageController');

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM