http://www.appelsiini.net/projects/filestyleから filestyle と呼ばれる Jquery プラグインを使用します。adtype の ID を持つ選択ボックスがあります。選択したオプションの値が 7 の場合、「adfile」の ID を持つファイル入力が無効になります。
ユーザーがすでにファイルを選択している場合に問題が発生します。ファイル入力をクリアしてから無効にする方法が見つかりません。$('#adfile').val(''); 動作しません。
Jクエリ
$(function(){
$('#adtype').change(function(){
if($('#adtype option:selected').val()==="7"){
$('#adfile').val('');
$("#adfile").prop('disabled', true);
}else{
$("#adfile").prop('disabled', false);
}
});
});
HTML
<form id="someform" action="somepage" method="post">
<select name="selectstuff" id="adtype">
<option value="1">one</option>
<option value="5">five</option>
<option value="7">seven</option>
</select>
<input type="file" id="adfile" value="" />
<input type="submit" value="submit" />
</form>