Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用reactjs动态保存添加的多个文本框值_Javascript_Reactjs - Fatal编程技术网

Javascript 使用reactjs动态保存添加的多个文本框值

Javascript 使用reactjs动态保存添加的多个文本框值,javascript,reactjs,Javascript,Reactjs,我想在更改文本值时保存文本框的值 var MySelect = React.createClass({ getInitialState: function() { return { label: '' , options: [{ value: '', type: 'text' },

我想在更改文本值时保存文本框的值

     var MySelect = React.createClass({
                getInitialState: function() {
                    return {
                        label: '' ,
                        options:  [{ value: '', type: 'text' },
                            { value: '', type: 'text' },
                            { value: '', type: 'text' }]
                    }
                },
                change: function(event) {
                    this.state.label = '';
                    this.setState({value: event.target.value});  
                },  
render: function() {
return(
                        <div>
                          <p><b>Field type</b></p>
                            <select className="inputControl" id="field_control" onChange={this.change} value={this.state.value}>                        
                                <option value="text">Textbox</option>
                                <option value="number">Number</option>
                                <option value="checkbox">Checkbox</option>
                                <option value="radio">Radio</option>
                                <option value="textarea">Textarea</option>
                                <option value="select">Dropdown</option>
                                <option value="date">Date</option>
                                <option value="email">Email</option>
                            </select>
                        <br />
                        <br />
                        <div id="selectOption">
                            <p>
                              <b>Choices</b>
                            </p>
                            <div id="SelectChoice" onChange={this.fillSelectOption}>
                                {
                                   this.state.options.map(function(opt, i) {                                        
                                      return <input type={ opt.type } className="inputControl space" key={i} onKeyup={this.saveValue}/>
                                   })
                                }
                                <i className="fa fa-plus-circle icon add" title="Add another choice" onClick={this.addOption}></i>
                            </div>
                            <div id="CheckboxChoice" style={{display: 'none'}}>
                            </div>
                            <div id="RadioChoice" style={{display: 'none'}}>
                            </div>
                        </div>                  
                     </div>
                );
            },
            addOption: function(e) {                                   
               this.state.options.push({"value":'', "type":'text'});
               this.forceUpdate();               
            }
});
var MySelect=React.createClass({
getInitialState:函数(){
返回{
标签:“”,
选项:[{value:'',键入:'text'},
{值:“”,键入:'text'},
{值:“”,键入:'text'}]
}
},
更改:功能(事件){
this.state.label='';
this.setState({value:event.target.value});
},  
render:function(){
返回(
字段类型

文本框 数 复选框 无线电 文本区域 下拉列表 日期 电子邮件

选择

{ this.state.options.map(函数(opt,i){ 返回 }) } ); }, addOption:函数(e){ this.state.options.push({“value”:“”,“type”:“text”}); 这个.forceUpdate(); } });

我动态添加文本框,但当我单击“添加”图标时,它会添加新的文本框,但文本框中不会显示值。当用户更改它时,我可以保存值吗?

您错过了输入元素中的值属性

this.state.options.map(function(opt, i) {                                        
  return <input type={ opt.type } value={opt.value} className="inputControl space" key={i} onKeyup={this.saveValue}/>
 })

您缺少输入元素中的value属性

this.state.options.map(function(opt, i) {                                        
  return <input type={ opt.type } value={opt.value} className="inputControl space" key={i} onKeyup={this.saveValue}/>
 })

对不起,回复太晚了。我试过了,但没用。
value={opt.value}
在我键入内容时重写。。你能发一把小提琴吗?对不起,回复太晚。。我试过了,但没用。
value={opt.value}
在我键入内容时重写。。你能发一把小提琴吗?