Posts Tagged ‘talks’
Hands on JavaScript
Brian Moschel of Jupiter IT did a live walkthrough of adding JavaScript functionality to your pages at the May 2009 meetup. He went through adding client side form validation.
Here is the code used in the demo (which mixes JavaScriptMVC and jQuery):
FormController = MVC.Controller.extend('registration_form', /* @Static */ {}, /* @Prototype */ { submit: function(params){ params.event.kill(); var data = params.form_params(); this.check_email(data.email) this.check_username(data.username) if(!this.failed) new MVC.Ajax('/users/create', { parameters: data, onComplete: this.continue_to('after_submit') }) }, after_submit: function(results){ eval(results.responseText); }, success: function(message){ $("#registration_form").css('display','none'); $("#notifier")[0].innerHTML = message; $('#notifier').fadeOut(3000) }, 'input blur': function(params){ if(params.element.type == 'submit') return; var name = params.element.className; var value = params.element.value; this["check_"+name](value); }, check_email: function(value){ var empty_regex = /^\s*$/; var email_regex = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; // check if its empty if(value.match(empty_regex) != null) this.failure("Email is a required field.", "email") // check if its valid if(value.match(email_regex) == null) this.failure("The email you entered is not a valid email address.", "email") }, check_username: function(value){ var empty_regex = /^\s*$/; // check if its empty if(value.match(empty_regex) != null) this.failure("Name is a required field.", "username") }, failure: function(message, field_type){ var field = $('#registration_form input.'+field_type); field.css('border','2px red solid'); var error_div = $('#registration_form span.'+field_type+"_error"); error_div[0].innerHTML = message; setTimeout(this.continue_to('reset_failure'), 3000); this.failed = true; }, reset_failure: function(){ $('#registration_form input').css('border', ''); var errors = $('#registration_form .error'); for(var i=0; i<errors.length; i++){ errors[i].innerHTML = ""; } }, });
JavaScriptMVC Overview
Justin Meyer of Jupiter IT presented at the April 2009 JS.ChiI() meeting:
An overview showing how JavaScriptMVC’s build tools (Compression, Testing, Documentation, Code Generators) and architecture (Model, View, Controller) can provide structure to any project.
Unfortunately the tape ran out about 2/3rds through the talk.
The talk was delivered using a 3D JavaScript application written by Justin. Click the image below to see the slides (best viewed from Firefox 3).
JavaScript Native Types
Justin Meyer of Jupiter IT presented at the April 2009 JS.ChiI() meeting:
A discussion of the native types JavaScript provides, reviewing Booleans, String, Dates, Objects, Functions, Arrays, and more.
The talk was given using a 3D JavaScript application written by Justin. Click the image below to see the slides (best viewed from Firefox 3).
Comet: an Overview and New Solution Called Jabbify
Brian Moschel of Jupiter IT presented at the April 2009 Meetup.
This talk provides an overview of Comet, also known as HTTP Push, covering how it works on the server and client, several implementation options, and using a new Comet API called Jabbify in an interactive demo.
Web 2.0 Expo overview
Vlad Didenko and Don Albrecht of GETCO presented at the April 2009 Meetup, discussing the lessons they learned at the Web 2.0 Expo.



