这是ReactJS的新手。
任何人都可以告诉您使用什么或如何在React中上传表单(有几个输入框和文件选择器)?
一直在破坏我的神经试图使用BlueImp JQuery-file-upload plugin.错误信息是神秘的,并没有成功从谷歌获得任何有用的帮助。
我的代码如下:
<form id="myForm" enctype="multipart/form-data" onSubmit={this.handleSubmit}> <input type="text" name="name"> <input type="text" name="lastName"> <input type="file" accept="image/*" name="myPic"> </form> // Inside handleSubmit() of my component $('#myForm").fileupload('add',{url: "myurl"});
谢谢!
解决方法
在React中使用jQuery插件是合理的,但是由于React保留了自己的DOM的虚拟表示形式,所以您应该避免使用jQuery选择器。
在提交表单时,使用事件目标获取对真实DOM节点的引用,并将其包装到jQuery对象中以访问该插件:
React.createClass({ handleSubmit: function(event) { $(event.target).fileupload('add',{url: "myurl"}); },render: function() { return ( <form enctype="multipart/form-data" onSubmit={this.handleSubmit}> <input type="text" name="name" /> <input type="text" name="lastName" /> <input type="file" accept="image/*" name="myPic" /> </form> ); } });