-1

嗨,我需要帮助将textarea转换为三个输入的基本形式,例如...用户可以将他们的名字,姓氏和电子邮件输入到表单中。目前我的代码有一个textarea存储到chrome存储中。请帮助我将其转换为表单,并将其存储在铬存储中并进行检索。非常感谢。如何将textarea转换为表单?

HTML:

<meta charset="UTF-8"> 
    <title>Document</title> 
    <script src="script.js"></script> 
</head> 
<body> 
    <textarea id="saveLine"></textarea> 
    <input type="button" id="save" value="Save Line"> 

    <input type="button" id="get" value="Get Saved Line"> 

JS文件:

window.onload = function() { 
    document.getElementById('save').onclick = function() { 
    var value = document.getElementById('saveLine').value; 

    chrome.storage.sync.set({'myLine': value}, function() { 
     alert('success'); 
    }); 
}; 

document.getElementById('get').onclick = function() { 
    chrome.storage.sync.get('myLine', function(data) { 
     alert(data.myLine); 
    }); 
} 
} 
+1

为什么textarea元素而不是单独的名字,姓氏和电子邮件输入元素? – traktor53

+1

你真正的问题是什么?你已经说明了你的“需要”,但实际上并没有提出问题,或者解释了你的*特定问题。您可能想阅读[为什么“有人可以帮我吗?”不是一个实际的问题吗?](http://meta.stackoverflow.com/a/284237) – Makyen

+0

@ Traktor53这本来是一个我修改过的草案代码,但我很努力地将它修改成一个表单。 –

回答

0

只需包住HTML输入/按钮/等在form元件与action属性(尽管这是可选的)。在这种情况下,您还需要将至少一个按钮更改为type="submit"

<form id="some_form" action="/some/endpoint"> 
    <textarea id="saveLine"></textarea> 
    <input type="submit" id="save" value="Save Line"> 
    <input type="button" id="get" value="Get Saved Line"> 
</form> 

你可能也想通过您的JS来处理表单提交,因为如果你想让它提交到Chrome浏览器的存储,那么你需要劫持的形式submit处理程序。

var form = document.getElementById('some_form') 
form.addEventListener('submit', function (event) { 
    console.log('Form elements', form.elements) 
    event.preventDefault() 
    // Do your Chrome Storage stuff here with form elements 
})