onChange event using javascript

Posted on 2008-06-24
Medium Priority
Last Modified: 2008-11-27
Hello,  I'm trying to create a simple onChange event using javascript which takes a custom checkbox (example a sales step in an opportunity) and when checked I want it to populate  a completed date field automatically.  We currently have 4 steps in our sales process so we would like to track each step as people mature an opportunity.  Having troubles accomplishing this, have good programming knowledge but not much javascript.  Thanks.
Question by:ohmErnie

Accepted Solution

mriz81 earned 252 total points
ID: 21859459
I did not get your requirement clearly. But I think you want to perform something ( populate date ) when a checkbox is checked on unchecked .. am I right?
If yes .. then you need to use onClick event instead of onChange event.
For Example
<input type="checkbox" name="chk1" value="1" onclick="alert('changed');" />

Open in new window


Assisted Solution

msfletch earned 248 total points
ID: 21860829
mriz 81 is correct, you do need onClick instead of onChange.

I beleive the attached code does what you want. I tried to annotate it for clarity, so you should be able to add onto it and modify it according to your needs.

Basically, it sets or clears the date depending on whether or not the checkbox has been checked or unchecked. It also supports multiple checkboxes and date fields. Just change the date fields from "text" to "hidden" if you don't want them displayed.

Good luck.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
	<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
	function setDate(whichCheckbox,whichDateField) {
                  // check if checkbox checked or unchecked
		if (document.getElementById(whichCheckbox).checked == true) {
			// create new date object
			var now = new Date();
			// parse elements of date object for display ... use the ones you want
			// var hour = now.getHours();
			// var minute = now.getMinutes();
			// var second = now.getSeconds();
			var monthnumber = now.getMonth();
			var monthday = now.getDate();
			var year = now.getYear();
			// combine elemets for desired format
			var entryDate = monthnumber + '/' + monthday + '/' + year;
			// enter date in field
			document.getElementById(whichDateField).value = entryDate;
		} else {
			// remove date from text field
			document.getElementById(whichDateField).value = '';
<form name="form" method="post" action="somepage.html">
	<input type="checkbox" name="chk1" id="chk1" value="1" onclick="setDate('chk1','stepOneDate')" />
	<input type="text" name="stepOneDate" id="stepOneDate" value="" />
	<br />
	<input type="checkbox" name="chk2" id="chk2" value="1" onclick="setDate('chk2','stepTwoDate')" />
	<input type="text" name="stepTwoDate" id="stepTwoDate" value="" />

Open in new window


Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Having worked on larger scale sites, we found out that you are bound to look at more scalable solutions to integrating widgets, code snippets or complete applications and mesh them into functional sites, in any given composition. To share some of…
Boost your ability to deliver ambitious and competitive web apps by choosing the right JavaScript framework to best suit your project’s needs.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

624 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question