先日、業務の関係でINPUT入力フォームのDisabledを操作する
サンプルスクリプトを作ったのでここでも紹介してみます。
INPUT入力フォームが2つある場合で、
片方のINPUTを入力しないと次のINPUTの入力を認めない場合のサンプル。
まず、動作サンプルから
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
----------------------
「入力フォームA」@「入力フォームB」
----------------------
「A」の入力フォームに何か入力すると、「B」の入力フォームが入力可能になります。
「A」「B」を入力後、「A」の入力フォームの内容を削除した際には、
「B」は入力不可になるが入力内容は一旦保持。
「A」からフォーカスが離れた際に「A」の中に入力が何もされていなかった場合に
「B」の値は削除となり空にします。
動作についてはこんな感じに。
「B」の削除制御などは変更も可能。
スクリプトは以下のような感じに。
◆SCRIPT ———————————————————–
$(function(){
var mailad1 =($(‘input#form1’).val());
$(‘input#form2’).each(function(){
if(mailad1 == “”) {
$(this).css({backgroundColor:”#ccc”,border:”#a7a6aa 1px solid”}).attr(‘disabled’,’disabled’).val(”);
} else {
$(this).css({backgroundColor:”#fff”,border:”#a7a6aa 1px solid”}).attr(‘disabled’,”);
}
});
$(‘input#form1’).bind(‘keyup change’,function(){
if(this.value == “”) {
$(‘input#form2’).css({backgroundColor:”#ccc”,border:”#a7a6aa 1px solid”}).attr(‘disabled’,’disabled’);
} else {
$(‘input#form2’).css({backgroundColor:”#fff”,border:”#a7a6aa 1px solid”}).attr(‘disabled’,”);
}
});
$(‘input#form1’).blur(function(){
if(this.value == “”) {
$(‘input#form2’).val(”);
}
});
});
——————————————————————–
単純にINPUTのvalueの値を見て、「disabled」を付けたり消したりしているだけ。
JSなどでINPUTを操作する際、動的に背景色「background」を追加すると、
そのINPUTの枠線「border」がinsetっぽいスタイルに変更してしまうのがいつもめんどくさく思う。
それを回避するために上記スクリプトではわざわざ「border」のスタイルを追加してあります。
こんな感じですが何かの際に是非。。。