Week 4 Project: The Contact Form!

Well, it was supposed to be for week 4 of the “52 Weekly Websites” challenge (see http://dev.kobayashicoding.net), to be published at noon on December 7, 2016 – an infamous day in its own right, but not the day that this blog post showed up. As I mentioned in the most recent post in this series, the “Contact Form” proved to be a bit more complex that I’d anticipated. This was mostly because I wanted to add a CAPTCHA to it in an attempt to defeat Spambots.

Three resources were invaluable in creating and styling the final form. The following are links to the articles at the named sites:

The CAPTCHA functionality was provided by Securimage, an excellent open-source script with great documentation.

The contact form was actually working when I published the most recent post on November 23, 2016, but as this blog is written by me, well, this post is late. And, because it’s been so long, I don’t recall exactly what the problem with the implementation was. Sorry.

So, I’m going to try to get back to writing here more often, and also get back to the 52 Weekly Websites challenge. I have a couple of things I need to figure out (or find an example of) how to do, so I’ll use those for my next two challenges. One is a photo carousel (I’ve already found an example of how to do this, so that’ll be next week), and the other is updating a (possibly) scrolling <div> on a page with data from the server without refreshing the page. Come back in a couple of weeks to find out how that turned out.

The Second… er, well, Second, Third, and Fourth Weekly Website Update(s)

This post was supposed to be published on Wednesday, November 9, 2016, and comprise the results of the second of my 52 Weekly Websites challenge. However, what I wanted to accomplish was a bit more complex than I thought it would be, and I’ve had some other pressing responsibilities to tend to, and I ran out of time.

So, this is being published on Wednesday, November 23, 2016, and provides a mostly functioning main menu for the overall site. The “Home” and “About” buttons both work now. Each replaces the text in the “Jumbotron” area on the main page by using JavaScript to manipulate the Document Object Model (DOM) in the user’s web browser. You can see the results at http://dev.kobayashicoding.net.

In my defense, these buttons were working before the November 9, 2016, deadline. It was the “Contact Form” page that was the holdup – more about that in next week’s post, so be sure to come back for the whole story.

Update on 2018-07-23: note that if you use the “Projects” drop-down menu and choose “Week 1” you get the home page. If you choose “Week 2” it looks like you just get the home page again, but this time the “Home” menu item is selected; the same goes for “Week 3” and “Week 4” – they really are doing something, it just might not be readily apparent.

 

The Journey Begins…

The first of my 52 weekly projects (for the backstory, see “The Plan (at least for now…)”) is up and running! Take a look at http://dev.kobayashicoding.net for this week’s website. This will be the base site from which all future projects can be launched.

This week’s site was derived from BootStrap‘s “Fixed Top Navbar” example. I changed the title and branding, modified the navigation bar to use buttons instead of list items with URL links (the buttons don’t work yet – that’s next week’s project), and I changed the text in the “Jumbotron” box in the middle of the page.

Next week’s project will include making the buttons work using Javascript functions to modify the text in the Jumbotron. And, if time allows, I hope to add a footer to the page as well.

You may wonder why I’m concentrating on BootStrap for the first couple of weeks, when my stated goal is to develop websites and web apps using WordPress and Django. The reasons are that (1) I want to become more familiar and facile with HTML, CSS, and Javascript (all of which come into play), (2) I want to learn to use a major web development framework effectively and efficiently (and BootStrap certainly qualifies as such a framework), and (3) BootStrap integrates nicely with Django’s templates to display web pages, reports, and forms.

That’s all for now. I hope you’ll visit again next week! My goal is to have these posts published by noon on Wednesday (yeah, I missed that this week by a bit).