Solved

changing input field background color on jquery validation

Posted on 2008-10-10
3
7,530 Views
Last Modified: 2012-05-05
I am implementing jquery form validation and would like to have the input field background color changed depending on the validation status. (red on error and green on success)

I got to a point where the background color changes on error but the input field becomes... 'ugly' looking one. How do I change only the background color?

Also is there a way to change the background color / message when the input entry is valid or successful?
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script>
<style type="text/css">
#commentForm label.error {
	font-size:11px;
	color:red;
}
label.valid {
	background: url('/js/jquery/img/valid.gif') no-repeat;
	height:21px;
	width:21px;
	display:block;
	padding-left: 21px;
}
input.error, input select.error {
	background-color: red;
}
</style>
<script>
  $(document).ready(function(){
    $("#commentForm").validate({
		rules: {
			cemail: {
				required: true,
				email: true
			}
		},
		messages: {
			cemail: {
				required: "<img src='/img/invalid.gif' style='vertical-align: bottom; margin-left: 5px;'><br>Please enter the Email address",
				email: "<img src='/invalid.gif' style='vertical-align: top; margin-top:1px; margin-left: 5px;'><br>Invalid Email address"
			}
		},
		submitHandler: function() { alert("Submitted!") }
	});
  });
</script>
</head>
<body>
<form id="commentForm" name="commentForm" method="get" action="">
  <fieldset>
  <p>
    <label for="cemail">E-Mail</label>
    <em>*</em>
    <input id="cemail" name="cemail" size="25" />
  </p>
  </fieldset>
</form>
</body>
</html>

Open in new window

0
Comment
Question by:eccen
  • 2
3 Comments
 
LVL 16

Accepted Solution

by:
sh0e earned 500 total points
ID: 22687731
This script based on YUI seems to be closer to what you want.  You can do it in jQuery, but it will probably be more work.  You will probably want to redo some of the validation script.
http://blog.jc21.com/staging/jsvalidate_yui.php
0
 
LVL 19

Expert Comment

by:Albert Van Halen
ID: 22793968
In case of an error in the validation, the class error is applied to the form element(s).
You can define an .error rule in your css.
Specify background-color in this rule.

There's no rule applied in case of succesfull validation.
0
 
LVL 19

Expert Comment

by:Albert Van Halen
ID: 22793972
Oops, saw that you allready applied it... Sorry
0

Featured Post

How Do You Stack Up Against Your Peers?

With today’s modern enterprise so dependent on digital infrastructures, the impact of major incidents has increased dramatically. Grab the report now to gain insight into how your organization ranks against your peers and learn best-in-class strategies to resolve incidents.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article discusses four methods for overlaying images in a container on a web page
This article discusses how to create an extensible mechanism for linked drop downs.
In this tutorial viewers will learn how add a scalable full-width header using CSS3. Create a new HTML document with an internal stylesheet. Set a tiled background.:  Create a new div and name it Header. Position it with position:absolute at the top…
In this tutorial viewers will learn how to position items using CSS's three positioning types Create a new HTML document with an internal stylesheet.: Create another div in CSS and name it Absolute : Type "position:absolute;" and "top:10px; left:50p…

791 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