「テスト」(2006/05/13 (土) 11:28:30) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
<script language="JavaScript" type="text/javascript">
<!--
// チェックボックスに使用している名前
chn = new Array("ch1","ch2","ch3");
// 全てのチェックボックをチェックする
function chBxOn(){
for(i=0; i<chn.length; i++) {
document.nForm.elements[chn[i]].checked = true;
}
}
// 全てのチェックボックのチェックを外す
function chBxOff(){
for(i=0; i<chn.length; i++) {
document.nForm.elements[chn[i]].checked = false;
}
}
// 複数選択チェックボックス前回値記憶エリア
var checkfuku = new Array(null,null,null,null,null,null,null,null,null,null);
var checktan;
function TanituCheck(obj)
{
var i = 0;
// 複数チェックボックス選択解除
for(i = 0; i < document.nForm.elements['FUKCNT'].value; i++)
{
checkfuku[i].checked = false;
checkfuku[i] = null;
document.nForm.elements['FUKINFO'+i].value = '';
document.nForm.elements['FUKREC'+i].value = '';
}
document.nForm.elements['FUKCNT'].value = 0;
if(checktan == null)
{
checktan = obj;
}
else if(checktan.name == obj.name)
{
}
else if(checktan != null)
{
if((checktan != obj));
{
//alert(checktan.name + obj.name);
checktan.checked = false;
checktan = obj;
}
}
//試験用・・・・・・・・・・・・・・・・・・・・・・・・・・・//
document.nForm.elements['textboxINFO'].value = '';
document.nForm.elements['textboxREC'].value = '';
document.nForm.elements['textboxCOUNT'].value = '';
for( i = 0; i < 10; i++)
{
document.nForm.elements['textboxINFO'].value += '[ ' + document.nForm.elements['FUKINFO'+i].value + ' ]';
document.nForm.elements['textboxREC'].value += '[ ' + document.nForm.elements['FUKREC'+i].value + ' ]';
}
document.nForm.elements['textboxCOUNT'].value = document.nForm.elements['FUKCNT'].value;
//試験用・・・・・・・・・・・・・・・・・・・・・・・・・・・//
return(0);
}
function FukusuuCheck(obj)
{
var cnt = 0;
var i = 0;
// 単一チェックボックス選択解除 //
if(checktan != null)
{
checktan.checked = false;
}
// 複数チェックボックス解除時 //
if(obj.checked == false)
{
for(i = 0; i < 10; i++)
{
if((checkfuku[i] != null) && (checkfuku[i].name == obj.name))
{
// 前回値エリアより削除 //
checkfuku[i] = null;
document.nForm.elements['FUKINFO'+i].value = '';
document.nForm.elements['FUKREC'+i].value = '';
// 削除したエリア以降を前詰め //
for (i; i < 10; i++)
{
if(i == 9)
{
checkfuku[i] = null;
document.nForm.elements['FUKINFO'+i].value = '';
document.nForm.elements['FUKREC'+i].value = '';
//alert("最終行なので、nullにする" + i);
}
else
{
//alert("前詰め中" + i);
checkfuku[i] = checkfuku[i + 1];
document.nForm.elements['FUKINFO'+i].value =
document.nForm.elements['FUKINFO'+ (i+1)].value;
document.nForm.elements['FUKREC'+i].value =
document.nForm.elements['FUKREC'+ (i+1)].value;
}
}
}
}
}
// 複数チェックボックス選択時 //
else
{
// 前回値エリアに前詰めで格納 //
// 前回値FULLならエラーメッセ後処理終了 //
for(i = 0; i < 10; i++)
{
if((i == 9) && (checkfuku[9] != null))
{
obj.checked = false;
alert("チェック数オーバー");
return(-1);
}
else if(checkfuku[i] == null)
{
// エレメントにデータセット。 //
checkfuku[i] = obj;
document.nForm.elements['FUKINFO'+i].value = checkfuku[i].valueinfo;
document.nForm.elements['FUKREC'+i].value = checkfuku[i].valuerec;
break;
}
}
}
// エレメントにデータセット //
for( i = 0; i < 10; i++)
{
if(checkfuku[i] != null)
{
cnt++;
}
}
document.nForm.elements['FUKCNT'].value = cnt;
//試験用
document.nForm.elements['textboxINFO'].value = '';
document.nForm.elements['textboxREC'].value = '';
document.nForm.elements['textboxCOUNT'].value = '';
for( i = 0; i < 10; i++)
{
document.nForm.elements['textboxINFO'].value += '[ ' + document.nForm.elements['FUKINFO'+i].value + ' ]';
document.nForm.elements['textboxREC'].value += '[ ' + document.nForm.elements['FUKREC'+i].value + ' ]';
}
document.nForm.elements['textboxCOUNT'].value = document.nForm.elements['FUKCNT'].value;
return;
}
function TOUROKU(obj)
{
var infothis;
inforthis = document.nForm.elements['FUKINFO0'].value
for( i = 1; i < document.nForm.elements['FUKCNT'].value; i++)
{
if(inforthis != document.nForm.elements['FUKINFO' + i].value)
{
alert("ちがう種類えらんでるでしょ?");
return(-1);
}
}
alert("おなじ種類えらんでるでしょ?");
}
//-->
</script> 全てのチェックボックスをチェック/解除します。
<form name="nForm" id="nForm"><br>
単一チェックボックス<br>
<input type="checkbox" name="CHK0" onclick="TanituCheck(this)" valuerec='1'
valueinfo='200'>200<br>
<input type="checkbox" name="CHK1" onclick="TanituCheck(this)" valuerec='2'
valueinfo='200'>200<br>
<input type="checkbox" name="CHK2" onclick="TanituCheck(this)" valuerec='3'
valueinfo='200'>200<br>
<br>
複数チェックボックス<br>
<input type="checkbox" name="CHKFUK0" onclick="FukusuuCheck(this)" valuerec='1'
valueinfo='200'>200<br>
<input type="checkbox" name="CHKFUK1" onclick="FukusuuCheck(this)" valuerec='2'
valueinfo='200'>200<br>
<input type="checkbox" name="CHKFUK2" onclick="FukusuuCheck(this)" valuerec='3'
valueinfo='200'>200<br>
<input type="checkbox" name="CHKFUK3" onclick="FukusuuCheck(this)" valuerec='4'
valueinfo='210'>210<br>
<input type="checkbox" name="CHKFUK4" onclick="FukusuuCheck(this)" valuerec='5'
valueinfo='210'>210<br>
<input type="checkbox" name="CHKFUK5" onclick="FukusuuCheck(this)" valuerec='6'
valueinfo='250'>250<br>
<input type="checkbox" name="CHKFUK6" onclick="FukusuuCheck(this)" valuerec='7'
valueinfo='250'>250<br>
<input type="checkbox" name="CHKFUK7" onclick="FukusuuCheck(this)" valuerec='8'
valueinfo='250'>250<br>
<input type="checkbox" name="CHKFUK8" onclick="FukusuuCheck(this)" valuerec='9'
valueinfo='280'>280<br>
<input type="checkbox" name="CHKFUK9" onclick="FukusuuCheck(this)" valuerec=
'10' valueinfo='290'>290<br>
<input type="checkbox" name="CHKFUK10" onclick="FukusuuCheck(this)" valuerec=
'11' valueinfo='300'>300<br>
<input type="checkbox" name="CHKFUK11" onclick="FukusuuCheck(this)" valuerec=
'12' valueinfo='310'>310<br>
<input type='text' name="textboxINFO" value='' size='100'><br>
<input type='text' name="textboxREC" value='' size='100'><br>
<input type='text' name="textboxCOUNT" value='' size='100'><br>
//複数チェックボックス解除時<br>
//前回値エリアより削除<br>
//複数チェックボックス選択時<br>
//前回値エリアに前詰めで格納このとき、前回値FULLならエラーメッセ後処理終了<br>
//FUKINFO FUKREC のエレメントにデータセット。<br>
//COUNTを数えてFUKCNTのエレメントにデータセット<br>
<input type="button" value="チェック" onclick="TOUROKU()"> <input type=
"hidden" name="SEIN" value='100'> <input type="hidden" name="FUKINFO0" value=
''> <input type="hidden" name="FUKINFO1" value=''> <input type="hidden" name=
"FUKINFO2" value=''> <input type="hidden" name="FUKINFO3" value=''>
<input type="hidden" name="FUKINFO4" value=''> <input type="hidden" name=
"FUKINFO5" value=''> <input type="hidden" name="FUKINFO6" value=''>
<input type="hidden" name="FUKINFO7" value=''> <input type="hidden" name=
"FUKINFO8" value=''> <input type="hidden" name="FUKINFO9" value=''>
<input type="hidden" name="FUKREC0" value=''> <input type="hidden" name=
"FUKREC1" value=''> <input type="hidden" name="FUKREC2" value=''> <input type=
"hidden" name="FUKREC3" value=''> <input type="hidden" name="FUKREC4" value=''>
<input type="hidden" name="FUKREC5" value=''> <input type="hidden" name=
"FUKREC6" value=''> <input type="hidden" name="FUKREC7" value=''> <input type=
"hidden" name="FUKREC8" value=''> <input type="hidden" name="FUKREC9" value=''>
<input type="hidden" name="FUKCNT" value='0'></form>
表示オプション
横に並べて表示:
変化行の前後のみ表示: