需要使用Javascript动态插入表单

时间:2013-11-14 00:54:54

标签: javascript html css

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

某些上下文,我是Javascript的新手,我正在尝试使用我在HTML,CSS和Javascript中所知道的文本RPG作为一个有趣的项目...后者我是我们还没有太多的经验。

该函数必须修改元素,插入一个要求输入字符名称的片段,以及表单和提交按钮......然后取出它们输入的内容并修改一个基本上起作用的JSON变量作为一个角色文件。

这一切都必须在客户端完成,如果它可以帮助......任何人都可以帮助?或者不给出彻底的解决方案,指出我正确的方向?

2 个答案:

答案 0 :(得分:0)

您可以使用cookies在浏览器上存储信息,例如播放器名称。例子是

document.cookie='PlayerName = ThatOneGuy';

您可以在https://developer.mozilla.org/en-US/docs/Web_Development/HTTP_cookies

查看更多详情

答案 1 :(得分:0)

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

缺少一些内容,例如检查输入是否实际具有值,以及零错误检查。

您可以详细了解localStorage hereherehere。您可以找到有关Cookie here的更多信息。

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功能的兼容性,我建议here

祝你好运!