スレッド表示 | フラット表示〕 全トピック 920 件中 67 番目 次≫ ≪前

コンボボックスについて

created: 2007-12-10 16:50 | modified: 2007-12-11 13:51 | reply: 3

[4075] コンボボックスについて

user: けん | created: 2007-12-10 16:50
壁にぶつかりました。orz

うるう年に対応した月日のコンボボックスのセレクトを作成してみたんですが、
エラーが。。。

申し訳ありませんがご教授お願いします。
こちらでもいろいろ試行錯誤してるんですが、なかなか上手くいきません。。。


ソースとプログラムを見てください。
何が問題なのでしょうか??

IEにエラー表示が出ます。

ライン:15(selecter.options.length = list.length;の行)

文字:3
エラー:'options'はNullまたはオブジェクトではありません。
コード:0

:ソース

<script type="text/javascript">
<!--
// コンボボックスのオプションリストの初期化
var dayy = new Array();
dayy['none'] = new Array('select');
dayy['1'] = new Array('select','1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31');
dayy['2'] = new Array('select','1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29');
dayy['3'] = new Array('select','1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31');

// コンボボックスselecter のオプションをlistで初期化する関数

function setSelectOption ( selecter, list ){
selecter.options.length = list.length;
for(i=0; i<list.length; i++){
selecter.options[i].value = list[i];
selecter.options[i].text = list[i];
}
selecter.options[0].selected = true;
}
//-->
</script>
<select onchange="setSelectOption(day, dayy[value])" name="month">
<option value="none" selected="selected">
select
</option>
<!-- Start of select1 options -->
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>

<!-- End of select1 options -->

</select>
<select name="day">
<option value="none" selected="selected">
select
</option>
</select>


プログラム

<?php

$year = "";
$year = date("Y");
settype($year,"integer");
$year ++;

if ($year%4 == 0) {
$saigo = 29;
if ($year%100 == 0) {
$saigo = 28;
if ($year%400 == 0) {
$saigo = 29;
}
}
}

$tuki = array(1,2,3);
$pi = array();
$pi[1] = array();
$pi[2] = array();
$pi[3] = array();

for ($i=1; $i<=31; $i++) {
array_push($pi[1],$i);
array_push($pi[3],$i);
}

for ($i=1; $i<=$saigo; $i++) {
array_push($pi[2],$i);
}

?>
<form method="post">
<script type="text/javascript">
<!--
// コンボボックス3のオプションリストの初期化

var dayy = new Array();
dayy['none'] = new Array('select');
<?php


foreach ($pi as $key1 => $val1) {
echo "dayy['",$key1,"'] = new Array('select','";
echo implode("','",$val1);
echo "');\n";
}
?>

// コンボボックスselecter のオプションをlistで初期化する関数

function setSelectOption ( selecter, list ){
selecter.options.length = list.length;
for(i=0; i<list.length; i++){
selecter.options[i].value = list[i];
selecter.options[i].text = list[i];
}
selecter.options[0].selected = true;
}
//-->
</script>
<select onchange="setSelectOption(day, dayy[value])" name="month">
<option value="none" selected="selected">
select
</option>
<!-- Start of select1 options -->
<?php
foreach ($tuki as $key => $val) {
echo "<option value=\"$key\">$val</option>\n";
}

?>

<!-- End of select1 options -->

</select>
<select name="day">
<option value="none" selected="selected">
select
</option>
</select>
</form>
reply: 4077 返信 編集 削除

[4077] コンボボックスについて

user: ach | created: 2007-12-11 02:41
<select onchange="setSelectOption(day, dayy[value])" name="month">

<select onchange="setSelectOption(day, dayy[this.value])" name="month">
のような気がします
テストしてませんが……
Parent: 4075  reply: 4079 返信 編集 削除

[4079] Re.コンボボックスについて

user: けん | created: 2007-12-11 10:14
> <select onchange="setSelectOption(day, dayy[value])" name="month">
> が
> <select onchange="setSelectOption(day, dayy[this.value])" name="month">
> のような気がします
> テストしてませんが……

回答ありがとうございます。
上記のように試してみましたが
やはり同じエラーが出ます。orz

selecter.options.length = list.length;

のoptionsにデータが入ってないといったようなエラー内容です。

なぜでしょうか??
似たようなプログラムでは成功してるんですが。。。


ライン:15(selecter.options.length = list.length;の行)

文字:3
エラー:'options'はNullまたはオブジェクトではありません。
コード:0
Parent: 4077  reply: 4080 返信 編集 削除

[4080] Re.Re.コンボボックスについて

user: けん | created: 2007-12-11 13:51
<select name="day">を<select name="day" id="day">にして
<select onchange="setSelectOption(document.getElementById('day'), dayy[this.value])"に変えたら解決できました!!

どうもお騒がせしました。。。
Parent: 4079  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 67 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑