Battery or ground. If you have a multimeter (if not, and you should), test battery voltage with car off (red probe to +, black probe to -).
Then test battery voltage with the car running. Your readings should be approximately 12v and 14.7v, respectively.
Corroded terminals or a corroded ground wire can cause this as well. Inspect & make sure battery terminals are clean & tight.
Check the ground connections... there are lots of them in the engine compartment. Verify they're corrosion free & tight. If you need to clean them, clean both surfaces (metal around the hole and the terminal itself) with a wire wheel, apply dielectric grease & tighten.