Javascript 使用localstorage存储表数据并将其传递给表单

Javascript 使用localstorage存储表数据并将其传递给表单,javascript,jquery,html,forms,local-storage,Javascript,Jquery,Html,Forms,Local Storage,现在我正在尝试使用HTML5的localStorage API从表中获取一个值,并将该值传递到表单中 例如,当用户单击此表单上的“今天注册”时,我希望存储给定行的信息(日期、时间、位置)及其上方的标题(例如:YFT招生洞察),然后显示在此页面上的“感兴趣的研讨会”字段中: 我确实不是JavaScript的高手,但到目前为止,我已经做到了以下几点: 联系我们: $('body').on('click', 'a.button', function(){ var index = $(this)

现在我正在尝试使用HTML5的localStorage API从表中获取一个值,并将该值传递到表单中

例如,当用户单击此表单上的“今天注册”时,我希望存储给定行的信息(日期、时间、位置)及其上方的标题(例如:YFT招生洞察),然后显示在此页面上的“感兴趣的研讨会”字段中:

我确实不是JavaScript的高手,但到目前为止,我已经做到了以下几点:

联系我们:

$('body').on('click', 'a.button', function(){
    var index = $(this).parents('table').index('table');
    var cur_workshop = $(this).parents('.innercontent').find('h3').eq(index).text();
    localStorage.setItem('workshop', cur_workshop);
});
$('input#workshop').text(localStorage.getItem('workshop'));
即将到来的研讨会页面:

$('body').on('click', 'a.button', function(){
    var index = $(this).parents('table').index('table');
    var cur_workshop = $(this).parents('.innercontent').find('h3').eq(index).text();
    localStorage.setItem('workshop', cur_workshop);
});

我只是试着把这些代码拼凑在一起,这样上面的代码就不起作用了,但我希望对于那些可能更精通JavaScript的人来说,这是一个良好的开端

页面中几乎没有问题

  • 不包括Modernizer库-您正在代码中使用
    Modernizer.localstorage
  • localStorage.setItem('workshop',cur_workshop)在将jQuery库添加到页面之前添加代码-因为此代码使用jQuery,所以在包含jQuery后移动它
  • 看起来您/wordpress正在调用jQuery.noConflict()-因此
    $
    不再引用jQuery,因此在代码中使用
    jQuery
    而不是
    $

  • 一些快速的想法。我相信您的本地存储代码应该可以工作。。。。 但我认为可能发生的情况是浏览器在您将值存储到localStorage之前加载联系人页面。 您可能要做的是删除超链接,并将单击处理程序绑定到div、span或一个按钮元素。在单击事件处理程序的窗口中,使用window.location=“xyz”;将值设置为localStorage之后

    同样,这可能不是真正的答案。。但请尝试使用非超链接元素,然后查看。你也可以做e.preventDefault;然后存储值,然后执行window.location操作。这是一种逐步增强的方法

    至于localStorage,我鼓励您尝试将值存储在一个JSON对象中,而不是几个项目中

    setItem(“workshop”,JSON.stringify({'date':'9/2/2012','time':'8:30AM','Princeton,NJ'})

    var workshop=JSON.parse(localStorage.getItem(“workshop”)


    希望这有帮助

    好的,Modernizer是通过这个JavaScript文件包含的,但是为了简单起见,我删除了Modernizer检查。此外,我还确保我自己的JavaScript放在jQuery的包含之后。@KeenanPayne如果您再次使用
    $
    ,请使用
    jQuery
    ,而不是像
    jQuery(函数($){('body')。on('click','a.button',function(){var index=$(this.)。parents('table')。index('table');var cur workshop=$(this).parents('.innercontent').find('h3').eq(index).text();localStorage.setItem('workshop',cur_workshop);})
    非常感谢您的帮助,我已经让它正常工作了(有点)。现在,如果你转到它,它会将信息传递到输入字段。您还可以在
    标记的末尾之前看到我的代码我的代码。我的最后一个问题是,如何从按钮所在的相应表行
    中传递信息?因此,在任何给定的按钮单击时,该按钮行中的信息都会被传递。(如果有道理的话)