动态添加、删除每行 form 表单

本文介绍了一个使用HTML和JavaScript实现的简单表单示例,该表单允许用户输入账号和密码,并通过点击按钮动态添加新的输入字段。同时,还提供了删除已添加字段的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

效果图



代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <link rel="stylesheet" href="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css">
</head>
<body>

<form role="form-group" style="display: inherit;width: 460px;margin-top: 20px;margin-left: 20px" id="tb">
    帐号: <input type="text"
               placeholder="请输入帐号">
    密码: <input type="password"
               placeholder="请输入密码">
    <img src="add.png" alt="" οnclick="add()" style="width:30px">
</form>
<div class="btn btn-default" style="margin-top: 20px;margin-left: 200px">提交</div>
</body>
</html>

<script>
    
    function add() {
        var form = document.createElement("form-group");
        form.id = new Date().getTime();
        form.innerHTML = "<form role='form-group' style='display: inherit;width: 550px'>" +
                "帐号: " + "<input  placeholder='请输入帐号'/>" +
                " 密码: <input  placeholder='请输入密码'/>" +
                "<img src='del.png'οnclick='del(this)' style='width:30px'></form>";
        document.getElementById("tb").appendChild(form);
    }

    function del(obj) {
        var formID = obj.parentNode.parentNode.id;
        var form = document.getElementById(formID);
        document.getElementById("tb").removeChild(form);
    }
</script>
在React中,动态添加表单可以通过多种方式实现。以下是一种基本的方法,它使用了React的`useState`钩子来创建一个可以添加删除表单项的状态变量。 首先,我们创建一个表单项的数据结构。这里假设每个表单项都是一个对象,包含字段名和值。 ```jsx const FormItem = { name: '', value: '', }; ``` 接下来,我们创建一个Form组件,它会动态添加表单项。 ```jsx import React, { useState } from 'react'; function Form() { const [formItems, setFormItems] = useState([]); const addFormItem = () => { setFormItems([...formItems, ...FormItem]); // 添加新的FormItem到现有的表单项数组中 }; const removeFormItem = (index) => { setFormItems(formItems.filter((_, i) => i !== index)); // 移除指定索引的表单项 }; return ( <div> <button onClick={addFormItem}>添加表单项</button> {formItems.map((item, index) => ( <div key={index}> <input type="text" value={item.name} /> <button onClick={() => removeFormItem(index)}>删除</button> </div> ))} </div> ); } ``` 在上述代码中,我们创建了一个表单项的状态变量`formItems`,每当用户点击“添加表单项”按钮时,`addFormItem`函数就会被调用,它将创建一个新的`FormItem`对象并将其添加到`formItems`数组中。当用户点击“删除”按钮时,对应的表单项就会被从数组中移除。最后,我们使用`map`函数遍历`formItems`数组,为每个表单项创建一个输入框和一个删除按钮。 这只是一个基本的实现,你可以根据需要对其进行扩展和修改。例如,你可以添加更多的表单项属性,或者使用React的变体来使输入框的值更易于处理。你还可以添加事件处理程序来响应用户的操作,如输入字段的更改或表单的提交等。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值