diff options
| -rw-r--r-- | assets/js/views/sample-add-view.js | 12 | ||||
| -rw-r--r-- | index.html | 6 |
2 files changed, 11 insertions, 7 deletions
diff --git a/assets/js/views/sample-add-view.js b/assets/js/views/sample-add-view.js index 7080c84..8be2fb8 100644 --- a/assets/js/views/sample-add-view.js +++ b/assets/js/views/sample-add-view.js @@ -1,4 +1,8 @@ ClipPlay.Views.SampleAddView = Marionette.View.extend({ + // Copied from + // http://stackoverflow.com/a/10430654 + url_matcher: /(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/, + events: { 'click .js-create-sample': 'on_sample_add' }, @@ -19,12 +23,14 @@ ClipPlay.Views.SampleAddView = Marionette.View.extend({ }, on_sample_add: function() { - if (this.$input.val()) { + var input_value = this.$input.val(); + if (input_value + && this.url_matcher.test(input_value)) { this.add_sample_to_collection(); - - this.clear_input(); } + this.clear_input(); + return false; } });
\ No newline at end of file @@ -24,10 +24,8 @@ <div role="main"> <div id="add-sample"> - <form action="" method="get"> - <input type="text" class="url-input js-sample-url" placeholder="http://www.youtube.com/watch?v=_JGaQ3g8WU4" /> - <button type="button" class="button green large js-create-sample">+</button> - </form> + <input type="text" class="url-input js-sample-url" placeholder="http://www.youtube.com/watch?v=_JGaQ3g8WU4" /> + <button type="button" class="button green large js-create-sample">+</button> </div> <div id="samples"></div> |
