javascript - 为什么我的 JS 代码中的 clearForm() 不起作用?
问题描述
该程序采用名称、价格、类别等值,之后表格应该清晰但不起作用
function addProduct()
{
var product =
{
name:productNameInput.value,
price:productPriceInput.value,
category:productCategoryInput.value,
desc:productDescriptionInput.value
}
productsContainer.push(product);
localStorage.setItem("Products",JSON.stringify(productsContainer));
displayProducts();
clearForm();
}
<div class="container py-5">
<label>Product Name:</label>
<input type="text" name=" " id="productNameInput" class="my-2 form-control">
<label>Product Price:</label>
<input type="number" name=" " id="productPriceInput" class="my-2 form-control">
<label>Product Category:</label>
<input type="text" name=" " id="productCategoryInput" class="my-2 form-control">
<label>Product Description:</label>
<textarea name=" " id="productDescriptionInput" class="my-2 form-control">
</textarea>
<button id ="addBtn"class="btn btn-info">Add Product</button>
</div>
解决方案
您需要包装 HTML 以形成标签 <form id="myform">
并添加按钮type="button
<button type="button" onclick="addProduct()"
,
您的 clearForm 应该只调用 reset() 函数
function clearForm(){
document.getElementById("myform").reset();
}
var productsContainer = [];
function addProduct()
{
var product =
{
name:productNameInput.value,
price:productPriceInput.value,
category:productCategoryInput.value,
desc:productDescriptionInput.value
}
productsContainer.push(product);
//localStorage.setItem("Products",JSON.stringify(productsContainer));
displayProducts();
clearForm();
}
function displayProducts(){
}
function clearForm(){
document.getElementById("myform").reset();
}
<form id="myform">
<div class="container py-5">
<label>Product Name:</label>
<input type="text" name=" " id="productNameInput" class="my-2 form-control">
<label>Product Price:</label>
<input type="number" name=" " id="productPriceInput" class="my-2 form-control">
<label>Product Category:</label>
<input type="text" name=" " id="productCategoryInput" class="my-2 form-control">
<label>Product Description:</label>
<textarea name=" " id="productDescriptionInput" class="my-2 form-control">
</textarea>
<button type="button" onclick="addProduct()" id ="addBtn"class="btn btn-info">Add Product</button>
</div>
</form>
推荐阅读
- javascript - VueJS - 为什么子组件中的数据在用作另一个组件中的数据时没有正确更新?
- sql - 如何为每一行进行查询转换?
- typescript - 为什么控制台似乎仍然认为变量具有类型:在 Typescript 中以其他方式声明时任何?
- azure - 我在 Azure 管道步骤中收到“Bash 将一行或多行写入标准错误流”
- qemu - 如何让 whpx 或 haxm 在 Windows 主机上与 qemu 一起使用?
- c++ - C++ - 如何在与 main() 相同的文件中转发声明一个类 - 获取变量使用未定义的类错误
- python - 处理大熊猫数据框
- vba - PowerPoint 中仅适用于演示文稿/幻灯片的按钮
- php - 如何通过 php 从 html 发送电子邮件?
- javascript - 使用 HTTPS 时,当我使用 XHR 将文件传输到 S7 嵌入式 Web 服务器时,Chrome 会阻止文件传输