Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 传递ID为的HTML元素_Javascript_Html_Contenteditable - Fatal编程技术网

Javascript 传递ID为的HTML元素

Javascript 传递ID为的HTML元素,javascript,html,contenteditable,Javascript,Html,Contenteditable,我的问题是关于结合HTML5功能ContentEditable和localStorage的代码 这是我的两个JS函数,一个用于在表格单元格中存储用户编辑,另一个用于获取值并将其传递给表格单元格 <script type="text/javascript"> function storeUserEdit(id) { var pre_value = document.getElementById(id).innerHTML; localStorage.setItem("

我的问题是关于结合HTML5功能ContentEditable和localStorage的代码

这是我的两个JS函数,一个用于在表格单元格中存储用户编辑,另一个用于获取值并将其传递给表格单元格

<script type="text/javascript">

function storeUserEdit(id) {
    var pre_value = document.getElementById(id).innerHTML;
    localStorage.setItem("userEdit",pre_value);
    }
function applyUserEdit() {  
    if (localStorage.getItem("userEdit")){
    var new_value = localStorage.getItem("userEdit");
    }
    document.getElementById('prjSch_row1_col1').innerHTML = localStorage.getItem("userEdit");
} 
</script>

函数storeUserEdit(id){
var pre_value=document.getElementById(id).innerHTML;
setItem(“userEdit”,pre_值);
}
函数applyUserEdit(){
if(localStorage.getItem(“userEdit”)){
var new_value=localStorage.getItem(“userEdit”);
}
document.getElementById('prjSch_row1_col1')。innerHTML=localStorage.getItem(“userEdit”);
} 
这两个功能嵌入到正文内容中:


applyUserEdit()

我想把它用于HTML页面中的许多表单元格,以及如何用id替换prjSch_row1_col1并将其传递给函数getUserEdit()


非常感谢

你是想做类似的事情吗。因为你在问题中提到的还不足以让我思考答案。在页面加载或

请让我知道足够的细节

2013年8月16日>

非常抱歉耽搁了!请查找我在Firefox中测试的以下代码。这是你想要的行为吗。请不要用小提琴测试。我不知道为什么,它在那里不起作用

`


函数storeUserEdit(id){
var pre_value=document.getElementById(id).innerHTML;
setItem(“userEdit”,pre_值);
setItem('userEditControl',id);
}
函数applyUserEdit(id){
var新值=“”;
if(localStorage.getItem(“userEdit”)){
new_value=localStorage.getItem(“userEdit”);
}
if(localStorage.getItem('userEditControl')==id){
document.getElementById(id).innerHTML=localStorage.getItem(“userEdit”);
}
//这只是为了检查代码是否正常工作
document.getElementById('log')。value=document.getElementById('log')。value+'\n'+localStorage.getItem(“userEdit”);
}
用户名:
价值
密码:
价值
`


如果您有任何问题,请告诉我…

谢谢您的回复。我想要实现的与你在链接中提到的不同。我想应用编辑后的值,我想在填写每个字段(表格单元格)后立即运行applyuseredit()。我想替换document.getElementById('prjSch_row1_col1')。innerHTML=localStorage.getItem(“userEdit”);使用document.getElementById(id).innerHTML=localStorage.getItem(“userEdit”);但它不起作用。有什么想法吗?嗨,非常感谢。它接近我想要的。一个小问题是,当我完成编辑时,我需要将页面的副本保存为html文件。当我打开保存的页面时,输入的值不会显示。。。你能帮忙吗?
<td id="prjSch_row1_col1" contenteditable="true" onkeyup="storeUserEdit(this.id)" >
</td>
<script>applyUserEdit()</script>
<head>
    <script type="text/javascript">
        function storeUserEdit(id) {
            var pre_value = document.getElementById(id).innerHTML;
            localStorage.setItem("userEdit",pre_value);
            localStorage.setItem('userEditControl', id);
        }
        function applyUserEdit(id) {
            var new_value = '';
            if (localStorage.getItem("userEdit")){
                new_value = localStorage.getItem("userEdit");
            }
            if(localStorage.getItem('userEditControl') === id){
                document.getElementById(id).innerHTML = localStorage.getItem("userEdit");
            }
            //this is just to check whether the code is working
            document.getElementById('log').value = document.getElementById('log').value + '\n' + localStorage.getItem("userEdit");
        }
    </script>
</head>
<body>
    <table border="1">
        <tr>
            <td>User Name:</td>
            <td id="uname" contenteditable="true" onkeyup="storeUserEdit(this.id)" onblur="applyUserEdit(this.id)">value...</td>
        </tr>
        <tr>
            <td>Password:</td>
            <td id="pword" contenteditable="true" onkeyup="storeUserEdit(this.id)" onblur="applyUserEdit(this.id)">value...</td>
        </tr>
    </table>
    <textarea multiline="true" id="log"></textarea>
</body>