var CommentForm = FormView.extend({ el: "#comment_form", events: { "focus textarea": 'focus', "mouseup input[type=file]": 'focus', "keydown textarea": 'keydown', }, action: "", initialize: function(){ this.__super__.initialize.call(this) this.template = this.$(".template").html() this.$comment = this.$("[name=comment]") }, load: function(thread){ this.action = "/api/thread/" + thread.id + "/comment" if (thread.settings.noupload) { this.$("[type=file]").hide() } }, keydown: function(e){ if ((e.ctrlKey || e.metaKey || e.altKey) && e.keyCode == 83) { // "s" key e.preventDefault() e.stopPropagation() this.save() } }, focus: function(){ this.$el.addClass('focused') $("[name=comment]").prop("required", false) }, validate: function(){ var errors = [] var comment = $("[name=comment]").val() var files = this.$("[name=files]").val() if ((! comment || ! comment.length) && ! files) { errors.push("Please enter a comment or add some files.") } return errors.length ? errors : null }, success: function(){ window.location.reload() } })