CS 174: Web Programming September 30 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak www.cs.sjsu.edu/~mak.

Slides:



Advertisements
Similar presentations
JavaScript I. JavaScript is an object oriented programming language used to add interactivity to web pages. Different from Java, even though bears some.
Advertisements

Tutorial 6 Creating a Web Form
End User Computing An Introduction to CSS Sujana Jyothi Research Lab1, Callan Building, Department of Computer Science
กระบวนวิชา CSS. What is CSS? CSS stands for Cascading Style Sheets Styles define how to display HTML elements Styles were added to HTML 4.0 to.
Unit 20 - Client Side Customisation of Web Pages
Ch3: Introduction to HTML5 part 2 Dr. Abdullah Almutairi ISC 340 Fall 2014.
Chapter 6 Basic forms 1. Forms and query string 2 form : a group of user input (UI) controls that accepts information from the user and sends the information.
CS4370/6370 Web Development Cascading Style Sheets (CSS)
Tutorial 14 Working with Forms and Regular Expressions.
Cascading Style Sheet (CSS) Instructor: Dr. Fang (Daisy) Tang
CS 160: Software Engineering August 27 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
CS 174: Web Programming February 26 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak
HTML Tables and Forms Creating Web Pages with HTML CIS 133 Web Programming Concepts 1.
Web Page Creation Part II ST: Introduction to Web Interface Design Prof. Angela Guercio.
Chapter 10 Form Basics Key Concepts Copyright © 2013 Terry Ann Morris, Ed.D 1.
. If the PHP server is an server or is aware of which server is the server, then one can write code that s information. –For example,
Internet & World Wide Web How to Program, 5/e Copyright © Pearson, Inc All Rights Reserved.
CS 174: Web Programming April 21 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak
Tutorial #9 – Creating Forms. Tutorial #8 Review – Tables Borders (table, gridlines), Border-collapse: collapse; empty-cells: show; and rowspan, colspan.
Principles of Web Design 6 th Edition Chapter 4 – Cascading Style Sheets.
JavaScript Form Validation
Introduction to Internet Engineering Tutorial 7 All about Assignment 2 By Tse Hok
JavaScript Teppo Räisänen LIIKE/OAMK HTML, CSS, JavaScript HTML defines the structure CSS defines the layout JavaScript is used for scripting It.
Database-Driven Web Sites, Second Edition1 Chapter 8 Processing ASP.NET Web Forms and Working With Server Controls.
Tutorial 14 Working with Forms and Regular Expressions.
Homework for October 2011 Nikolay Kostov Telerik Corporation
Telerik Software Academy ASP.NET Web Forms Data Validation, Data Validators, Validation Groups Telerik Software Academy
Principles of Web Design 6 th Edition Chapter 10 – Data Tables.
Server-side Scripting Powering the webs favourite services.
Neal Stublen Improvements  New form elements  Assist with validation  Consistency across sites  Changes reduce the need for common.
Chapter 12 Cascading Style Sheets: Part II The Web Warrior Guide to Web Design Technologies.
HTML. Basic HTML HTML document – HTML headings – to HTML paragraphs – HTML links – HTML images –
CIS67 Foundations for Creating Web Pages Professor Al Fichera Rev. September 14, 2010—All HTML code brought to XHTML standards. Reference for CIS127 and.
CC1003N Week 6 More CSS and Javascript.. Objectives: ● More CSS Examples ● Javascript – introduction ● Uses of Javascript ● Variables ● Comments ● Control.
TUTORIAL 10: PROGRAMMING WITH JAVASCRIPT Session 3.
CS 235: User Interface Design October 15 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
Web Scripting [PHP] CIS166AE Wednesdays 6:00pm – 9:50pm Rob Loy.
ALBERT WAVERING BOBBY SENG. Week 2: HTML + CSS  Quiz  Announcements/questions/etc  Some functional HTML elements.
CSS Cascading Style Sheets. CSS Advantages Greater typography and page layout control Style is separate from structure Styles can be stored in a separate.
CS 235: User Interface Design September 22 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
Week 9 - Form Basics Key Concepts 1. 1.Describe common uses of forms on web pages 2.Create forms on web pages using the form, input, textarea, and select.
Cascading Style Sheets (CSS) Within the Enterprise Architecture Framework (EAF) Wes Ziegeler August 3, 2006.
Session I Chapter 1 - Introduction to Web Development
CS 174: Web Programming August 31 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
CS 174: Web Programming October 7 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
CS 174: Web Programming September 2 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
Introduction to Client-Side Web Development Introduction to Client-Side programming using JavaScript JavaScript; application examples 10 th February 2005.
CS 174: Web Programming October 5 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
Advanced Web Development Instructor: Thomas Bombach.
CS 174: Web Programming September 28 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
CS 174: Web Programming October 12 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
CS 174: Web Programming September 9 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
CS 174: Web Programming October 14 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
INT222 - Internet Fundamentals Shi, Yue (Sunny) Office: T2095 SENECA COLLEGE.
LING 408/508: Programming for Linguists
ASSIGNMENT POINTS DUE DATE: Monday NOV 30 JAVASCRIPT, INPUT VALIDATION, REGEX See 2 nd slide for Form See 3 rd next slide for the required features.
HTML 5 Form elements Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan. 1.
CS 174: Web Programming November 2 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
CS 160 and CMPE/SE 131 Software Engineering February 11 Class Meeting Department of Computer Science Department of Computer Engineering San José State.
Tutorial 6 Creating a Web Form
CS 174: Web Programming October 28 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
JavaScript and Ajax (JavaScript Dynamic HTML (DHTML)) Week 7 Web site:
A little more JavaScript??. Building a caculator We'll need to learn about the following: – Form buttons. – Applying CSS rules by attribute values. –
CMPE 280 Web UI Design and Development September 7 Class Meeting
>> Form Data Validation in JavaScript
JavaScript, Sixth Edition
The Box Model in CSS Web Design – Sec 4-8
The Box Model in CSS Web Design – Sec 4-8
The Box Model in CSS Web Design – Sec 4-8
The University of Tulsa
Presentation transcript:

CS 174: Web Programming September 30 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak Input Validation  A key use of JavaScript code is input validation.  On the client side, validate user input in form fields before the values are submitted to the server side. Much more more responsive and interactive web pages.  It’s inefficient to have PHP code validate user input on the server side and then generate a new HTML page containing error messages to be displayed in the client side. 2

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak Validate Non-Empty Text  HTML:  JavaScript: 3 Name <input type = "text" value = "" id = "name" /> name = document.getElementById("name").value; if (name == "") { errors += "Missing name.\n"; }

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak JavaScript Regular Expressions 4

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak Validate Phone Number  HTML:  JavaScript: 5 Phone number <input type = "text" value = "(nnn) nnn-nnnn" id = "phone" /> phone = document.getElementById("phone").value; phoneRE = /^\(\d{3}\) *\d{3}-\d{4}$/; if (!phone.match(phoneRE)){ errors += "Invalid phone number. " + "Example: (999) \n"; } JavaScript quotes regular expressions with the forward /. validate/validate1.html

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak Validate Phone Number, cont’d 6 /^\(\d{3}\) *\d{3}-\d{4}$/ three digits four digits left parenright parenhyphen any number of blanks (including none) start of string end of string  What is the purpose of specifying both the start of the string ( ^ ) and the end of the string ( $ )? The entire string must match (nothing before or after).

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak Validate Address  HTML:  JavaScript: 7 address <input type = "text" value = id = " " /> = document.getElementById(" ").value; RE = if (! .match( RE)){ errors += "Invalid address. " + "Should be } validate/validate1.html

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak Validate Address, cont’d 8 start of string end of signdot at least one character at least one character 2, 3, or 4 characters Demo

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak JavaScript Regular Expressions, cont’d  Use parentheses in a regular expression to group and store a pattern. Example: /(Bora){2}/ matches BoraBora  Use \1, \2, etc. to recall the first, second, etc. match of a stored pattern. Example: /^(.)(.).*\1\2$/ matches any string that begins and ends with the same two characters, such as BoraBoraBo  What can /^.* $/ match? 9

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak Input Validation with HTML5 and CSS3  CSS pseudo-classes: :required :invalid 10 input:required { border: 1px solid blue; } input:invalid { color: white; background-color: red; } validate/validate2.css

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak Input Validation with HTML5 and CSS3, cont’d 11 Name: <input type = "text" value = "" id = "name" required /> Phone number: <input type = "text" placeholder = "(999) " pattern = "^\(\d{3}\) *\d{3}-\d{4}$" id = "phone" required /> address: <input type = "text" placeholder = pattern = id = " " /> No JavaScript required! HTML quotes regular expressions like any other string. Demo validate/validate2.html

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak New HTML5 Input Types  HTML5 has new input types. Automatic built-in input validation. Special effects with some browsers. 12 date time datetime datetime-local week month color number range search tel url NOTE: Different browsers implement these input types differently (Chrome does best).

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak New HTML5 Input Types, cont’d  Chrome browser: 13 Range: <input type = "range" id = "range" min = "0" max = "256" value = "128" /> validate/validate3.html

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak New HTML5 Input Types, cont’d  Chrome browser: 14 Color: <input type="color" id = "color" /> Demo validate/validate3.html

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak JavaScript Event Handlers 15

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak Assignment #4  Add JavaScript to your web application. Client-side input validation Greater interactivity  Extra credit (after next week’s lectures) +5 points: JavaScript drawing on an HTML5 canvas. +5 points: JavaScript animation  Turn in the usual zip file containing source files, database dump, and screen shots.  Due Wednesday, October

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak JavaScript Bingo Program  Demonstrate the coordination of HTML, CSS, and JavaScript. Adapted from JavaScript, 9 th edition by Tom Negrino and Dori Smith Peachpit Press, 2015 ISBN Demo How would you implement this Bingo card?

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak bingo.html  The card is an HTML table. Each cell has an id and is initially blank. 18 B I N G O Free

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak bingo.js 19 window.onload = initAll; function initAll() { document.getElementById("reload").onclick = anotherCard; newCard(); } function newCard() { for (var i = 0; i < 24; i++) { setSquare(i); } }

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak bingo.js, cont’d  Note that on a Bingo card, the numbers are distributed randomly as follows: Column B: 1 – 15 Column I: 16 – 30 Column N: 31 – 45 Column G: 46 – 60 Column O: 61 – 75  There are no repeated numbers on a card. 20

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak bingo.js, cont’d 21 var colPlace = new Array(0, 0, 0, 0, 0, // B 1, 1, 1, 1, 1, // I 2, 2, 2, 2, // N 3, 3, 3, 3, 3, // G 4, 4, 4, 4, 4); // O var usedNums = new Array(76); function setSquare(thisSquare) { var currSquare = "square" + thisSquare; var colBasis = colPlace[thisSquare]*15; var newNum; do { newNum = colBasis + getNewNum() + 1; } while (usedNums[newNum]); usedNums[newNum] = true; document.getElementById(currSquare).innerHTML = newNum; document.getElementById(currSquare).className = ""; document.getElementById(currSquare).onmousedown = toggleColor; }

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak bingo.js, cont’d 22 function getNewNum() { return Math.floor(Math.random()*15); } function anotherCard() { for (var i = 1; i < usedNums.length; i++) { usedNums[i] = false; } newCard(); return false; }

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak bingo.js 23 function toggleColor(evt) { if (evt) { var thisSquare = evt.target; } else { var thisSquare = window.event.srcElement; } if (thisSquare.className == "") { thisSquare.className = "pickedBG"; } else { thisSquare.className = ""; } } Dynamically change the cell’s class.

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak bingo.css 24 body { background-color: white; color: black; font-size: 20px; font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; } h1, th { font-family: Georgia, "Times New Roman", Times, serif; } h1 { font-size: 28px; }

Computer Science Dept. Fall 2015: September 30 CS 174: Web Programming © R. Mak 25 bingo.css, cont’d table { border-collapse: collapse; } th, td { padding: 10px; border: 2px black solid; text-align: center; width: 20%; } #free,.pickedBG { background-color: LightCoral; }