2025-06-04 15:09:28 +05:30

63 lines
1.8 KiB
JavaScript

import React, { useState } from 'react';
function App() {
const [formData, setFormData] = useState({
name: '',
test: [
{ t1: '', t2: '' } // Initial test2
]
});
const handleChange = (e, index) => {
const { name, value } = e.target;
if (name === 'name') {
setFormData({ ...formData, [name]: value });
} else {
const updatedTests = [...formData.test];
updatedTests[index][name] = value;
setFormData({ ...formData, test: updatedTests });
}
};
const handleAddTest = () => {
setFormData({
...formData,
test: [...formData.test, { t1: '', t2: '' }]
});
};
const handleSubmit = (e) => {
e.preventDefault();
console.log(formData);
};
return (
<div className="container">
<form onSubmit={handleSubmit}>
<div className="form-group">
<label htmlFor="name">Name:</label>
<input type="text" id="name" name="name" value={formData.name} onChange={handleChange} required />
</div>
<hr />
<h2>Test 2</h2>
{formData.test.map((test, index) => (
<div key={index}>
<div className="form-group">
<label htmlFor={`t1-${index}`}>Name:</label>
<input type="text" id={`t1-${index}`} name={`t1-${index}`} value={test.t1} onChange={(e) => handleChange(e, index)} required />
</div>
<div className="form-group">
<label htmlFor={`t2-${index}`}>Description:</label>
<input type="text" id={`t2-${index}`} name={`t2-${index}`} value={test.t2} onChange={(e) => handleChange(e, index)} required />
</div>
</div>
))}
<button type="button" onClick={handleAddTest}>Add Test</button>
<button type="submit">Submit</button>
</form>
</div>
);
}
export default App;