Just spoke to someone who says that having form elements within labels is ok. I've always learned that they should not be within each other, but this guy does seem to know what he is talking about so just want to check this out.
So he says this scenario is ok:
<label for="firstname">First name <input id="firstname" /></label>
Both are perfectly valid. But the first one is recommended as when it comes to checkboxes or radiobuttons, you can select/deselect the checkbox/radiobutton by clicking on the label as well as that particular form element.
Manaswinee- I would say that is not true at all. If you use the for attribute correctly, you do not need to have the label wrap around the input field.