【发布时间】:2021-01-16 05:57:28
【问题描述】:
目标
FrameWork used : ElectronJS
我想获取用户提交的表单,并使用 NodeJS 脚本在客户端 PC 上生成一个JSON 文件。 json 文件将具有key and value pairs。
请参阅下面的预期输出。
HTML
<form id="form" method="POST" action="#">
<div class="form-group col-auto">
<input type="text" class="form-control" id="username" name="username" placeholder="Enter Username" value="">
</div>
<div class="form-group col-auto">
<input type="text" class="form-control" id="account" name="account" placeholder="Enter Account" value="">
</div>
<button type="submit" id="save" class = "btn text-white mb-0"> Save </button>
</form>
JS
document.getElementById("save").addEventListener('click', saveJSON(e))
async function saveJSON(e){
e.preventDefault()
var userData = document.getElementById('username').value
var acctData = document.getElementById('account').value
var formData = userData + acctData;
console.log(formData);
await writer.jsonWriter(formData);
//Error - Uncaught TypeError: Cannot read property 'value' of undefined.
错误
NodeJS 脚本
async function jsonWriter(data){
let element = JSON.stringify(data);
fs.writeFileSync(__dirname + '\\data\\auth.json', element)
}
module.exports.jsonWriter = jsonWriter;
需要的输出
// auth.json
{"username":"Stack","account":"Overflow"}
【问题讨论】:
-
querySelector应该使用 CSS 选择器,因此它找不到您的元素。使用document.getElementById()可能会更好。 developer.mozilla.org/en-US/docs/Web/API/Document/querySelector -
我试过
getElementByID(),还是一样的错误。
标签: javascript html json electron