Start learning with our library of video tutorials taught by experts. Get started

Dreamweaver CS3 Beyond the Basics
Illustration by

Testing and debugging behaviors


From:

Dreamweaver CS3 Beyond the Basics

with James Williamson

Video: Testing and debugging behaviors

Okay, so we are ready to finish up our finish up our behavior. We thought we had it finished, but it didn't work and that is not uncommon when you are creating something as complex as a behavior. So it's a good idea to know how to debug these and try to figure out what's going wrong. So I have got the index.html file open and this is the file that we tested earlier and it didn't worked. So if you are working along with me with the Exercise Files, just make sure you have that up. Now as we mentioned at the very beginning of the chapter, you are always going to try to start your behavior with the JavaScript function that you know works, and the reason for that is because it makes debugging the code later on a little bit easier, and I am going to show you exactly what I am talking about.
Expand all | Collapse all
  1. 2m 3s
    1. Welcome
      1m 17s
    2. Using the exercise files
      46s
  2. 1h 23m
    1. Reviewing the Coding toolbar
      8m 42s
    2. Customizing the Coding toolbar
      9m 52s
    3. Taking advantage of Code Hinting
      7m 20s
    4. Using snippets and shortcuts
      11m 10s
    5. Using the Quick Tag Editor
      5m 18s
    6. Using Find and Replace
      9m 50s
    7. Regular expressions
      5m 39s
    8. Using Bridge with Dreamweaver CS3
      8m 28s
    9. Round-trip editing with Photoshop CS3
      3m 40s
    10. Leveraging image variables in Photoshop CS3
      7m 32s
    11. Integrating external variables into your workflow
      6m 16s
  3. 37m 26s
    1. Understanding the CSS Styles panel
      7m 59s
    2. Understanding the Cascade
      5m 50s
    3. Understanding Inheritance
      5m 8s
    4. Understanding Specificity
      7m 5s
    5. Managing CSS styles
      5m 4s
    6. Using Design-Time style sheets
      6m 20s
  4. 2h 19m
    1. Using the new CSS template pages
      5m 59s
    2. Understanding DIV tag structure and layout
      12m 0s
    3. Understanding the CSS box model
      10m 0s
    4. Using absolute and relative positioning
      8m 35s
    5. Understanding floating elements
      7m 9s
    6. Clearing floats
      7m 19s
    7. Using floats to control page layout
      3m 45s
    8. Building structure and assigning IDs
      10m 19s
    9. Applying basic styling to structured content
      11m 14s
    10. Positioning container elements
      11m 4s
    11. Enhancing layouts with background graphics
      11m 48s
    12. Creating faux columns with background graphics
      8m 55s
    13. Creating rounded corners with background graphics
      9m 17s
    14. Building navigation with CSS
      16m 57s
    15. Using Dreamweaver's Browser Check feature
      5m 31s
  5. 53m 22s
    1. Creating properly structured forms
      6m 30s
    2. Creating accessible forms
      6m 41s
    3. Using CSS to lay out form structure
      7m 40s
    4. Creating vertical columns for form elements
      7m 48s
    5. Adding user feedback
      5m 52s
    6. Applying advanced styling to forms
      8m 11s
    7. Client-side form validation
      4m 17s
    8. Validating forms with the Spry Validation tools
      6m 23s
  6. 1h 20m
    1. Understanding the Spry framework
      3m 43s
    2. Defining a data source for use in Spry
      3m 56s
    3. Creating a Spry table
      8m 8s
    4. Using the Spry widgets
      8m 11s
    5. Connecting various data sets
      4m 50s
    6. Understanding Spry widget structures
      7m 1s
    7. Applying custom styles to Spry widgets
      6m 24s
    8. Applying additional custom styles to Spry widgets
      8m 46s
    9. Controlling Spry widget behaviors with JavaScript
      6m 0s
    10. Controlling Spry widget animations with JavaScript
      9m 31s
    11. Creating effects with Spry behaviors
      4m 42s
    12. Hand-coding Spry
      9m 11s
  7. 1h 11m
    1. Creating a base template
      8m 6s
    2. Creating editable attributes
      6m 26s
    3. Creating a new page from a template
      7m 42s
    4. Applying a template to an existing page
      4m 36s
    5. Creating nested templates
      5m 24s
    6. Using repeating regions
      6m 34s
    7. Creating editable and non-editable optional regions
      6m 0s
    8. Using template parameters
      7m 26s
    9. Using template expressions
      9m 59s
    10. Using conditional template expressions
      8m 54s
  8. 54m 40s
    1. Examining XML structure
      2m 44s
    2. Creating an XML document
      9m 9s
    3. Using the CDATA structure
      5m 7s
    4. Creating an XSLT file
      4m 33s
    5. Binding data from an XML to an XSLT document
      5m 6s
    6. Inserting repeating regions into an XSL document
      5m 16s
    7. Creating a client-side XSL transformation
      2m 52s
    8. Styling a remote RSS feed
      7m 29s
    9. Creating a server-side XSL transformation
      5m 31s
    10. Writing XSL expressions
      6m 53s
  9. 1h 2m
    1. Overview of building dynamic websites
      1m 35s
    2. Installing PHP, MySQL, and Apache on Mac
      3m 22s
    3. Installing PHP, MySQL, and Apache on Windows
      3m 54s
    4. Creating a MySQL database
      3m 16s
    5. Defining a testing server and database bindings
      6m 14s
    6. Creating a database recordset
      4m 35s
    7. Adding dynamic content to the page
      5m 14s
    8. Creating repeating regions of dynamic content
      7m 6s
    9. Filtering database records
      7m 39s
    10. Using the Live Preview
      10m 22s
    11. Passing URL parameters
      4m 23s
    12. Dynamically generating links
      5m 18s
  10. 57m 9s
    1. Understanding behaviors
      5m 16s
    2. Installing additional behaviors
      3m 39s
    3. Planning to create a custom behavior
      3m 42s
    4. Examining existing behaviors
      5m 32s
    5. Building a behavior function
      7m 23s
    6. Creating an Action file
      6m 48s
    7. Enabling behavior functions
      9m 1s
    8. Initializing the user interface for a behavior
      3m 9s
    9. Loading behaviors in Dreamweaver
      6m 47s
    10. Testing and debugging behaviors
      5m 52s
  11. 27m 12s
    1. Running reports
      7m 41s
    2. Checking and validating links
      3m 40s
    3. Using cloaking
      5m 42s
    4. Using Check In/Check Out
      4m 3s
    5. Using Design Notes
      6m 6s
  12. 20s
    1. Goodbye
      20s

Watch this entire course now—plus get access to every course in the library. Each course includes high-quality videos taught by expert instructors.

Become a member
please wait ...
Dreamweaver CS3 Beyond the Basics
11h 10m Intermediate Sep 21, 2007

Viewers: in countries Watching now:

Covering diverse topics such as improving workflow and managing CSS styles, Dreamweaver CS3 Beyond the Basics is a hands-on course that teaches users how to move beyond standard, static websites. Instructor James Williamson explores how to increase productivity, interactivity, and accessibility with Dreamweaver. He also discusses how to extend the application's capabilities with XML and XSL. Exercise files accompany the tutorials.

Topics include:
  • Reviewing and customizing the coding toolbar
  • Understanding the CSS Styles panel
  • Using absolute and relative positioning
  • Creating accessible forms
  • Building AJAX pages with the Spry framework
  • Extending templates
  • Working with XML and XSL
  • Building dynamic content
  • Creating custom behaviors in Dreamweaver
  • Running reports
Subject:
Web
Software:
Dreamweaver
Author:
James Williamson

Testing and debugging behaviors

Okay, so we are ready to finish up our finish up our behavior. We thought we had it finished, but it didn't work and that is not uncommon when you are creating something as complex as a behavior. So it's a good idea to know how to debug these and try to figure out what's going wrong. So I have got the index.html file open and this is the file that we tested earlier and it didn't worked. So if you are working along with me with the Exercise Files, just make sure you have that up. Now as we mentioned at the very beginning of the chapter, you are always going to try to start your behavior with the JavaScript function that you know works, and the reason for that is because it makes debugging the code later on a little bit easier, and I am going to show you exactly what I am talking about.

So if I go down in my Exercise Files, we have the index_switcher.htm file and I am going to open that up. Now I am going to start comparing code. This is the JavaScript on the page that we know it works. In our index file I am going to take a look at the same file, and it pretty much looks exactly the same. So we don't really have any differences there. Okay so if that's the case, then maybe something happen when the script was being called. So I am going to scroll down into my Code, and on line 42 I am going to see where we have applied the behavior. So I will switch back to index_switcher and I will scroll down to pretty much the same location. And I am just going to compare this block of code the ActiveStyleSheet(large text), with the setActiveStyleSheet(large text) on the block of code that's not working. Here I see a difference. You can see on the large text it's not surrounded by quotation marks. So it doesn't view it as a literal string, and index_switcher, it is surrounded by quotation marks. Now it's single quotes, but that's okay, because that's JavaScript, and JavaScript panel single quotes and double quotes are pretty much the same way.

So that's what our behavior is missing. So we need to go ahead and update that. So to avoid confusion, I am going to go ahead and Close All open files. Now the JavaScript file that we have in our root directory is not the one that's being use. So I am going to have to actually browse out to my behaviors and find that JavaScript file again, so I am going to choose File > Open, and you can browse with me. I am going to go to my Applications/Dreamweaver CS3, again on the PC you are going to go to Program files/Adobe Dreamweaver CS3/Configuration/Behaviors/Actions. And if I scroll down all the way towards the bottom, I will find my styleSwitcher.js. There it is.

So I go ahead and Open that up, and remembering what our code behaviors do, and which one actually applies the action code is pretty important for us figuring out exactly where we went wrong. So I am going to scroll down, because I know that the function that's actually perform of the action is the Apply Behavior Functions, so that's our most likely code behavior, let's go find that. And indeed, if I look in line 42, returns "setActiveStylesSheet("+theName+")";. I can see that I am ending a literal string right here, and then picking it back up, and inside of this I have no single quotation marks. So just before the ending double quotes. I am going to place my cursor there and I will type in a single quote, and I will do the same thing on the other side in the reverse.

I want a single quote right after the opening parenthesis. I want a single quote right after the end. That means that the name that gets passed in will then be surrounded by the single quotes, and that should work. So I am going to save my JavaScript file, and now we are saving this into that same directory, so we haven't save this locally. If we are going to keep a back up copy of it which we are going to keep in our root directory, I am going to go ahead and do a Save As, after I save it, I will come back up to my Exercise Files, and I am going to go into my current Starting Files directory, and I am going to click on the JavaScript folder, and I am going to just save in there, and that's going to prompt me to Replace, I am going to choose Replace, and again, I am going to say No to Update Links, so I need to keep everything document relative.

So now I can close this and once again we have to go through the same process that we went when we loaded the behavior originally. We are going to have to shut Dreamweaver down, and then open a back up again. So I am gong to go ahead and quit Dreamweaver, and then when we re-launch it we will be able to test it again. Okay, so I have shutdown Dreamweaver, and I re-launched it, so we will reload that behavior and we are going to try this again. So I am going to open up index.htm, and index.htm still have the applied behaviors in it. So I am going to go and update those. So I m going to highlight the bracket and annotation A, and for Style Switcher I am going to double-click that again, and I am going to continue to pass in a large text to them. So I will switch over to Code view.

Now large text is actually surrounded in single quote, so hey us, we successfully debugged our function. Now the other nice thing about this is we are getting to examine the Inspect Behavior, so I am going to highlight the small a, I will go over to my Behaviors panel, double-click Style Switcher, and I am going to pass the same textual value in normal text and click OK, so inspecting our behavior works, we know that double clicking on Style Switcher is going to retrieve that string value, place it in the user interface, and allow us update it, so if I go back into the Code view, I will just double check and make sure that normal text also has single quotation marks around it.

It does. So now let's try this. I will choose Save, test it Internet browser, and now if I click the large A, here is my style sheet. If I click my normal text, there is my normal text. Our Style Switcher is now working wonderful. So our behavior is now complete and working beautifully. Although our behavior is very simple example, you can experiment with it and try to take it a bit further. You can try passing a default event into it, or adding data type restrictions, as to which type element can have the event applied to it. So from there I move on to saying, you can create behaviors out of your own favorite JavaScripts. Creating behaviors is not so complex that you have to be a JavaScript expert. I hope you have enjoyed extending Dreamweaver. And I hope that this inspires to go out and start extending Dreamweaver yourself.

Find answers to the most frequently asked questions about Dreamweaver CS3 Beyond the Basics.


Expand all | Collapse all
please wait ...
Q: In the Chapter 3 movie “Creating rounded corners with background graphics”, the instructor uses a .last class selector. What are the CSS properties of this selector?
A: The .last selector is as follows:
#current p.last{
background: url(../_images/current_btm_bg.gif) no-repeat bottom
left;
padding-bottom: 2em;
margin: 0;
}
The background is the bottom rounded corner graphic, the bottom padding keeps the type away from the bottom of the box and thus the rounded corners, and the margin ensures that the box elements fit seamlessly with each other.
 
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.
Upgrade now


Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ.

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

join now Upgrade now

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.


Mark all as unwatched Cancel

Congratulations

You have completed Dreamweaver CS3 Beyond the Basics.

Return to your organization's learning portal to continue training, or close this page.


OK
Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

Get started

Already a member?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferencesfrom the dropdown menu.

Continue to classic layout Stay on new layout
Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Are you sure you want to delete this note?

No

Notes cannot be added for locked videos.

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.