
我使用api数据动态显示输入文本字段。现在,我想获取每个输入字段的值,并将其存储在一个对象中。
例如:使用api数据动态生成的Textfield。
首名:
lastname:
.
输出
对象:{名字:“ac”,姓氏:“dc”}从用户输入中提取的->值,并按一下按钮将其存储在对象或数组中。
发布于 2018-11-23 03:55:54
解决了使用格式数据的问题。谢谢你@connexo
class App extends React.Component {
constructor() {
super();
this.state = {
data: makeData(),
values: []
};
}
handleChange(i, e) {
this.setState({
values: { ...this.state.values, [i]: e.target.value }
});
}
save = () => {
var form = new FormData(document.getElementById("myForm"));
form.getAll("username");
const adddata = form.getAll("username")
console.log(adddata)
};
render() {
var fieldsArray = [];
for (var i = 0; i <= this.state.data; i++) {
fieldsArray.push(
<div>
<label>
<div className="label">{i}</div>
<input
type="text"
value={this.state.values[i]}
name={this.state.values[i]}
onChange={this.handleChange.bind(this, i)}
/>
</label>
</div>
);
}
var outputAdd = Object.entries(this.state.data[0]).map(([key, value]) => ({
key,
value
}));
const addrow = outputAdd;
var formData = new FormData();
const Add = ({ journals }) => (
<div>
<form id="myForm" name="myForm">
{journals.map(journal => (
<div>
<div>
<label for="username">{journal.key}</label>
<input type="username" id="username" name="username"/>
</div>
</div>
))}
</form>
</div>
);
return (
<div className="inputs">
<Add journals={addrow} />
{fieldsArray}
<button onClick={this.save}>save</button>
</div>
);
}
}
render(<App />, document.getElementById("root"));https://stackoverflow.com/questions/53440015
复制相似问题