You can use jQuery and Josh Bush’s Masked Input Plugin to create predefined Degree Minute Second input fields in HTML.

Select the field below for an example:

And the source:

<input type="text" id="example1" />

$(function() {
  $.mask.definitions['m'] = '[0-5]';
  $("#example1").mask("9?99° m9′ m9.9999″");

(Note that those symbols are UTF-8 degree, prime, and double prime characters.)

Converting the string value of the field to decimal degrees is left as an exercise for the reader.