javascript - 获取 Laravel Controller 中的 Js 值

标签 javascript php jquery-plugins laravel-5.1 laravel-blade

如何获取 Laravel Controller 中的 js 值。我想传递隐藏字段中的值以保存在数据库中,但令我惊讶的是它为这些字段保存了空记录。当我在控制台上记录这些值时,我看到了它,但它没有作为值传递给 Controller ​​。我有什么更好的方法来处理这个问题?

 public function store(UserContactRequest $userContactRequest)
    {
        $phone           = $userContactRequest->phone_output;
         if(Auth::user()) {
            if($userContactRequest->isMethod('post')) {
               $userContact = UserContact::firstOrNew(array('user_id'=>Auth::user()->id));
                $userContact->phone     = $phone;
                $userContact->save();
                return redirect()->route('userContactIndex')->with('message', 'Your question has been posted.');
            }else{
                 return redirect('user/contact/create')->withErrors($userContactRequest)->withInput();
            }
         }
    }

这是 Blade 文件

<TH>FIELD</TH><TH>DECRIPTION</TH>
                    <input type="hidden" name="phone_output" id="phone_output">
                    <TR><TD><div>{!! Form::tel('phone', Input::old('phone'), ['class'=>'mid first-input-div', 'placeholder'=>'8023472436', 'id'=>'phone']) !!}</div></TD><TD class="font-description"><SPAN id="errNm1"><STRONG><I>FIRSTNAME</I></STRONG></SPAN> field requests the input of your surname or family name. Only <SPAN><STRONG><I>alphabets</I></STRONG></SPAN> are accepted as valid inputs. </TD></TR>

这是js文件:

$("#phone").intlTelInput();

var input = $("#phone"),
  output = $("#phone_output");

input.intlTelInput({
  nationalMode: true,
  utilsScript: "http://localhost:88/build/js/utils.js" // just for formatting/placeholders etc
});

// listen to "keyup", but also "change" to update when the user selects a country
input.on("keyup change", function() {
  var intlNumber = input.intlTelInput("getNumber");
  if (intlNumber) {
    output.text("International: " + intlNumber);
    console.log(intlNumber);
  } else {
    output.text("Please enter a number below");
  }
});

最佳答案

您应该使用output.val()来设置隐藏输入字段的值。 您已使用 output.text() 来代替。

更新的代码片段:

input.on("keyup change", function() {
  var intlNumber = input.intlTelInput("getNumber");
  if (intlNumber) {
    output.val("International: " + intlNumber);
    console.log(intlNumber);
  } else {
    output.val("Please enter a number below");
  }
});

关于javascript - 获取 Laravel Controller 中的 Js 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35962867/

相关文章:

javascript - 在js api中获取facebook好友列表

jquery - 如何从外部 HTML 文件加载/替换整个 DIV?

javascript - 如何在 jQuery .load() 函数上使用 .append

javascript - 有没有办法通过 jquery 更改到 div 位置?

javascript - 防止将重复值从文本框添加到列表框

php - 使用多个条件过滤 MySQL 查询

java - 单击按钮时如何从 php 中的下拉菜单项调用 Java 文件

php - Symfony "no PHP binaries detected"

javascript - 如何使用 jquery.shapeshift 禁用拖放?

css - Twitter Bootstrap 2.1 affix-plugin 无法正常工作