Initial commit
This commit is contained in:
50
js/FormPage.js
Normal file
50
js/FormPage.js
Normal file
@@ -0,0 +1,50 @@
|
||||
import React, { useState } from 'react';
|
||||
import axios from 'axios';
|
||||
|
||||
const FormPage = ({ table }) => {
|
||||
const [formData, setFormData] = useState({
|
||||
gross_total_income: '',
|
||||
net_taxable_income: '',
|
||||
tax_payable: '',
|
||||
total_tax_payable: '',
|
||||
refund: ''
|
||||
});
|
||||
|
||||
const handleChange = e => {
|
||||
setFormData({ ...formData, [e.target.name]: e.target.value });
|
||||
};
|
||||
|
||||
const handleSubmit = async e => {
|
||||
e.preventDefault();
|
||||
await axios.post(`http://localhost:5000/add/${table}`, formData);
|
||||
alert('Entry saved');
|
||||
setFormData({
|
||||
gross_total_income: '',
|
||||
net_taxable_income: '',
|
||||
tax_payable: '',
|
||||
total_tax_payable: '',
|
||||
refund: ''
|
||||
});
|
||||
};
|
||||
|
||||
return (
|
||||
<form onSubmit={handleSubmit}>
|
||||
{Object.keys(formData).map(key => (
|
||||
<div key={key}>
|
||||
<label>{key.replaceAll('_', ' ')}:</label>
|
||||
<input
|
||||
type="number"
|
||||
step="0.01"
|
||||
name={key}
|
||||
value={formData[key]}
|
||||
onChange={handleChange}
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
))}
|
||||
<button type="submit">Save</button>
|
||||
</form>
|
||||
);
|
||||
};
|
||||
|
||||
export default FormPage;
|
||||
Reference in New Issue
Block a user