【问题标题】:Get saved value from browsers从浏览器中获取保存的价值
【发布时间】:2019-10-23 12:29:22
【问题描述】:

如何在 jquery 中从浏览器中获取保存的值,我正在使用这个脚本。

require(['jquery', 'jquery/jquery.cookie', 'jquery/ui'], function($){

    setTimeout(function(){
      console.log($('input#email').val());

        var subjectLength = $('#email').val().length;
        if(subjectLength > 0) {
            console.log('Value Available');
        } else {
            console.log('Value not  Available');
        }


    }, 3000);

});

【问题讨论】:

  • 您希望多久检索一次<input id="email"> 的值?您可以使用keyup()change() 等。您当前的脚本在等待 3 秒后记录该值。
  • 如果用户在浏览器中保存了值,我想在输入框中添加一个类。我正在尝试上面的代码,它在控制台中运行良好,但在代码中没有。
  • @MAHESHKUMAR 我看不到您将此值写入 localStorage 或 Cookie 的位置。什么事件应该触发值的保存/更新? change, keyup, blur?
  • @MAHESHKUMAR 你得到这个地址了吗?

标签: javascript php jquery jquery-ui magento2


【解决方案1】:

您似乎正试图通过 Magento 中的 JavaScript 写入或更新 cookie。您也可以使用 Session 或 Cookies 使用 PHP 来执行此操作。既然你说“来自浏览器”,我假设你想要一个 JavaScript 解决方案。

基本上,您将有一个 Setter 和 Getter 函数来设置 cookie 的名称、值和过期时间,然后还有一个函数从特定命名的 cookie 中获取值。有时您可能也有一个清除或删除功能,基本上将他的 cookie 设置为过去过期。

我发现以下内容对您有帮助:https://magento.stackexchange.com/questions/163345/magento-2-how-to-use-cookie

require(['jquery', 'jquery/jquery.cookie', 'jquery/ui'], function($){
  setTimeout(function(){
    console.log($('input#email').val());
    var subject = $('#email').val();
    var date = new Date();
    var minutes = 60;
    date.setTime(date.getTime() + (minutes * 60 * 1000));
    if($.cookie('subject').length) {
      console.log('Updating Cookie Value: "subject", "' + subject + '"');  
      $.cookie('subject', subject, {path: '/', expires: date});
    } else {
      console.log('Setting Cookie Value: "subject", "' + subject + '"');  
      $.cookie('subject', subject, {path: '/', expires: date});
    }
  }, 3000);
});

如果你打算做很多,你可以用你自己的函数来扩展它。

function setCookie(k, v, e){
  var check_cookie = $.cookie(k); // Get Cookie Value
  var date = new Date();
  var minutes = e || 60;
  date.setTime(date.getTime() + (minutes * 60 * 1000));
  if(check_cookie.length){
    $.cookie(k, '', {path: '/', expires: -1});
  }
  $.cookie(k, v, {path: '/', expires: date});
}

function getCookie(k){
  return $.cookie(k);
}

function deleteCookie(k){
  $.cookie(k, '', {path: '/', expires: -1});
}

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    • 1970-01-01
    • 2014-12-18
    • 2013-10-04
    • 1970-01-01
    相关资源
    最近更新 更多