当然ながら、スクリプト無効環境では動作しません。不正な値が送信されて困る場合は、サーバー側でのチェックが必要です。 IE 7 以下は、option要素のdisabled属性を認識しないようで、選択不能になりません。 「日」のoption要素は、value値が昇順にソートされていることが必要です。 option要素のvalue値が数値形式以外など、HTML自体が想定外の場合の対策は行っていません。 「日」以外を変更したときに日付として不正になる場合は、日付を妥当な最大値にします。たとえば、3月31日を選択した後に「月」を4月に変えると、「日」は30日に変わります。(これは IE 7 以下でも動きます。) サンプルをjsdo.it(jsdo.it)に上げています。 2013年1月13日追記JavaScriptコードを大幅に変更しました。仕様は変わりません。 <!DOCTYPE html PUB