Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Solution: Dynamic contact form

From: jQuery for Web Designers

Video: Solution: Dynamic contact form

In this challenge, we needed to toggle whether these check boxes were enabled or disabled based on the state of this check box and then make the forms submit to different places based on these radio buttons. So first, let's make sure that this thing actually works. So we can see that the page has loaded, and all of these check boxes, no matter how much I would like to click them, are disabled. Click this check box, or its label even, and all of these are enabled or disabled as appropriate. You can check all these, and if I go back up here, and uncheck this box, they're all disabled again. They keep their check state, but they are disabled.

Solution: Dynamic contact form

In this challenge, we needed to toggle whether these check boxes were enabled or disabled based on the state of this check box and then make the forms submit to different places based on these radio buttons. So first, let's make sure that this thing actually works. So we can see that the page has loaded, and all of these check boxes, no matter how much I would like to click them, are disabled. Click this check box, or its label even, and all of these are enabled or disabled as appropriate. You can check all these, and if I go back up here, and uncheck this box, they're all disabled again. They keep their check state, but they are disabled.

Then if I submit this, right now if I ask for monthly discounts, I submit it, I go to contacts submitted, I say no thanks. I go to the other place. Okay. Let's see how this thing is put together, so here I am in contact.htm and I'll jump down to the bottom to javascript. Ok, so first of all, I am selecting all of these checkboxes using this class that surrounds them. And then, I'm asking for all the input whose type is checkbox inside that group. I'm going to be doing a few things to these checkboxes so I save them in a very well site, don't have to make the selection over and over again.

And I'm setting the disable property on everything is this group to true. I could have theoretically done this right in the HTML, but I like doing it this way, because then if JavaScript happens to be disabled, I figure it's probably better for people to be able to ask for information for things that they don't deserve not owning a bike, rather than preventing them from being able to ask for anything at all. Depending on your relationship with your client, they may want you to make a different choice but that's what I went for here. Next, I'm looking at the bike check checkbox and I've added a click event listener to it, and then I'm using this to refer back to it because I'm going to use it multiple times down here in my code.

So there is at least a couple of different ways that you could do this. What I'm doing is look at it's checked property and asking, is it true? And then, if so, setting disabled to false; therefore, enabling the check boxes. Then, in my other statement other here. So, if this is false, I'm disabling them again. So, if this is checked, enable everything. If it is not checked, disable everything. And I do this every time that box is clicked. So this is one way to do this. There is a slightly clever way which fits on one line. In this case, I'm setting the disabled property of all those checkboxes to the opposite using this not operator of what ever the toggle is.

So if this is checked I want disable to be set to false so checked is true disabled is false, checked is false disable is true its just a little slightly clever way. Moving on I'm now looking at the two radio buttons each of which has an ID. And then every time one of them is clicked I can set these in separate event listeners because they are not both going to be clicked at once. So, when I click the no radio button; therefore, opting out of the newsletter, it's also selected for me by the browser, and then I am setting the action attribute which is where the form submits of my web form to the page with the response that says nothing about you having subscribed to the mailing list.

And then I'm just doing the opposite for the other one, setting it back to the default which is the one has the message thanking you for subscribing. And so that's how it all breaks down. Disabling all these checkboxes when the page first loads, then doing the toggle here, and setting the action attribute on the form depending on which of these has been clicked.

Show transcript

This video is part of

Image for jQuery for Web Designers
jQuery for Web Designers

37 video lessons · 13511 viewers

Joe Chellman
Author

 
Expand all | Collapse all
  1. 2m 17s
    1. Welcome
      1m 4s
    2. What you should know
      37s
    3. Using the exercise files
      36s
  2. 12m 0s
    1. jQuery is a JavaScript library?
      1m 15s
    2. When to use jQuery
      2m 51s
    3. Alternatives to jQuery
      1m 25s
    4. Which version of jQuery to use
      1m 50s
    5. How to install jQuery
      3m 21s
    6. Reference materials
      1m 18s
  3. 19m 19s
    1. Getting ready
      2m 26s
    2. Selecting elements to use
      3m 54s
    3. Performing multiple operations on the same line with chaining
      2m 30s
    4. Using classes to find what you're looking for
      3m 52s
    5. Adding, modifying, and removing content dynamically
      4m 3s
    6. Challenge: Form feedback
      1m 12s
    7. Solution: Form feedback
      1m 22s
  4. 18m 28s
    1. Triggering a change based on activity with event binding
      4m 37s
    2. Reading and changing values
      4m 17s
    3. Working with HTML attributes
      4m 55s
    4. Challenge: Dynamic contact form
      1m 27s
    5. Solution: Dynamic contact form
      3m 12s
  5. 16m 42s
    1. Using the Colorbox plugin to build a slideshow gallery
      4m 22s
    2. Implementing Colorbox on your site
      2m 46s
    3. Changing Colorbox options
      5m 53s
    4. Challenge: Convert to a slideshow
      1m 6s
    5. Solution: Convert to a slideshow
      2m 35s
  6. 28m 37s
    1. Using jQuery or CSS to animate elements
      2m 24s
    2. Creating simple jQuery animations
      4m 35s
    3. Animating numeric properties with animate()
      4m 56s
    4. Understanding animation easing
      4m 4s
    5. Putting it together: Flowers in the cart
      6m 4s
    6. Callbacks: What to do when the animation ends
      3m 27s
    7. Challenge: Improve the animation
      1m 3s
    8. Solution: Improve the animation
      2m 4s
  7. 4m 45s
    1. More fun plugins
      2m 38s
    2. What's next: More jQuery
      50s
    3. What's next: More JavaScript
      1m 17s

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold
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.


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 Already a member? Log in

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 jQuery for Web Designers.

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 preferences from 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.

Learn more, save more. Upgrade today!

Get our Annual Premium Membership at our best savings yet.

Upgrade to our Annual Premium Membership today and get even more value from your lynda.com subscription:

“In a way, I feel like you are rooting for me. Like you are really invested in my experience, and want me to get as much out of these courses as possible this is the best place to start on your journey to learning new material.”— Nadine H.

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.