Skip to content

Instantly share code, notes, and snippets.

@cainus
Created January 6, 2015 19:35
Show Gist options
  • Save cainus/22bffd7775a84045872d to your computer and use it in GitHub Desktop.
Save cainus/22bffd7775a84045872d to your computer and use it in GitHub Desktop.
GForm.jsx
/** @jsx React.DOM */
var _ = require('lodash');
var React = require('react');
var GForm = React.createClass({
render: function() {
return (
<form onSubmit={this.onSubmit}>
{this.props.children}
</form>
);
},
onSubmit: function(e) {
e.preventDefault();
var hash = getFormHash(this);
if (this.props.onSuccess){
this.props.onSuccess(hash);
}
}
});
module.exports = GForm;
var getAllFormFields = function(form){
var els = form.getDOMNode().elements;
var fields = _.compact(_.pluck(els, 'name'));
return fields;
};
var getFormHash = function(form){
var els = form.getDOMNode().elements;
hash = {};
console.log("els: ", els);
_.each(els, function(el){
if (el.name){
hash[el.name] = el.value;
}
});
return hash;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment