0

有这样的方法吗?我在使用 .innerHTML 方法方面收效甚微。

在某些情况下,我是 Javascript 的新手,我正在尝试使用我在 HTML、CSS 和 Javascript 中所知道的内容将文本 RPG 制作为一个有趣的项目……后者我没有太多的经验呢。

该函数必须修改一个元素,插入一个询问角色名称的片段,以及表单以及一个提交按钮......然后获取他们输入的内容并修改一个 JSON 变量,该变量本质上将用作一个角色文件。

这一切都必须在客户端完成,如果可以帮助的话......有人可以提供帮助吗?或者没有给出一个彻底的解决方案,指出我正确的方向?

4

2 回答 2

0

下面,我编写了一些简单的 dom 操作,它创建了一个表单、一个输入,当输入失去焦点时,将输入中的任何内容存储到 cookie 或localStorage.

缺少一些东西,比如检查输入是否真的有一个值,以及零错误检查。

localStorage 您可以在此处此处此处了解更多信息。您可以在此处了解有关 cookie 的更多信息。

function init_form(){
    var form = document.createElement('form');
    var input = document.createElement('input');

    input.setAttribute('id', 'player_name');
    input.setAttribute('placeholder', ' Enter Characters Name');
    input.setAttribute('type', 'text');

    form.appendChild(input);
    document.appendChild(form); //or document.getElementsByTagName('body')[0].innerHTML += form;
    input.addEventListener('blur', store_name_in_local_storage, false); 
}

function store_name_in_local_storage(){
    var name = document.getElementById('player_name');

    //check to see if browser supports local storage if it does, use it, if it doesn't use cookies
    if(!window.localStorage){
        document.cookie = 'player_name ='+ name;
    }else{
        localStorage.setItem('player_name', name);
    }
}

function get_player_name(){
    var name = '';

    //retrieve the cookie or local storage name
    if(!window.localStorage){
        name = document.cookie
    }else{
        name = localStorage.getItem('player_name');
    }
}

关于链接的注意事项:由于您是 javascript 新手,我将使用第二个链接localStorage,第一个是关于如何使用它的非常好的文档,第三个是该功能的实际规范页面。

此外,我还包含了将 cookie 设置为彻底的代码,而不是因为您真的需要它。localStorage一直支持到 IE8 和所有其他主要浏览器。

如果您想检查我在这里建议的任何 javascript/html5 功能的兼容性建议的任何 javascript/html5 功能的兼容性。

祝你好运!

于 2013-11-14T04:32:29.283 回答
0

您可以使用cookie在浏览器上存储信息,例如玩家姓名。例子是

document.cookie='PlayerName = ThatOneGuy';

您可以在https://developer.mozilla.org/en-US/docs/Web_Development/HTTP_cookies查看更多详细信息

于 2013-11-14T01:10:56.397 回答