美人時計(bijin-tokei)の画像を順にパラパラとめくって、一気に全部見ちゃいたい人向けのツールです。
1,440枚もあので、さすがにクリックし疲れます。
時間を変更してください。
:
この時間を直接表示するURLはこちら
2009年9月8日火曜日
2009年9月7日月曜日
Flash の普及率
Flash Player 9 の国内における普及率は、2009/06 において 98.8%
参考資料(英語)
Adobe Flash Player Version Penetration
98-99%辺りで普及率の伸びが頭打ちになるのは分かるとして、
新バージョン(ver.10)をリリースした後、その普及率が毎月大きく上がってゆくのは、にわかに信じ難い...自動アップデートが期待通り機能しているのからでしょうか。
参考資料(英語)
Adobe Flash Player Version Penetration
98-99%辺りで普及率の伸びが頭打ちになるのは分かるとして、
新バージョン(ver.10)をリリースした後、その普及率が毎月大きく上がってゆくのは、にわかに信じ難い...自動アップデートが期待通り機能しているのからでしょうか。
2009年9月5日土曜日
無料のJava レンタルサーバ
無料のJava ウェブ ホスティングを調査してみた。
Javaの場合、無料で使えるサーバは少ない。
共用サーバで、Java実行プロセスが共用だと、
・利用者毎にアプリを独立させることができない
・CGIみたいに高負荷なプログラム(プロセス)のみを強制終了できない
・Javaのスレッドを監視するフリーウェア等が無い (JMXをベースに自前構築する必要)
・誰かがTomcatを再起動しちゃえばみんな道連れ o(´□`*)o
低価格でプライベートJVMのプランも提供されているのに、
借りる方としても、こんな面倒な話は願い下げしたいものだが。。。今回訳あって調べてみた。
■ 無料のウェブサーバ
EatJ (米国) トライアル プラン
http://www.eatj.com
ディスク容量:50MB
プライベートJVM
6時間毎にTomcatがシャットダウンされてしまい、止まったら手動で再起動が必要。無料プランは全くのお試し用です。
FreeWebIndia (インド)
http://www.freewebindia.com
ディスク容量:5MB
他に国内にも、無料のレンタルサーバありましたよ。
システム基盤も貧相なのに、横柄な個人管理者が運用されています。
ttp://www.sousui.jp
ttp://www.hossy.flnet.org
「普通じゃない WEBスペース サービスを提供しています。」 だって
確かにインターネットに提供できるレベルじゃないですね。。
格安のJava レンタルサーバはこちら
Javaの場合、無料で使えるサーバは少ない。
共用サーバで、Java実行プロセスが共用だと、
・利用者毎にアプリを独立させることができない
・CGIみたいに高負荷なプログラム(プロセス)のみを強制終了できない
・Javaのスレッドを監視するフリーウェア等が無い (JMXをベースに自前構築する必要)
・誰かがTomcatを再起動しちゃえばみんな道連れ o(´□`*)o
低価格でプライベートJVMのプランも提供されているのに、
借りる方としても、こんな面倒な話は願い下げしたいものだが。。。今回訳あって調べてみた。
■ 無料のウェブサーバ
EatJ (米国) トライアル プラン
http://www.eatj.com
ディスク容量:50MB
プライベートJVM
6時間毎にTomcatがシャットダウンされてしまい、止まったら手動で再起動が必要。無料プランは全くのお試し用です。
FreeWebIndia (インド)
http://www.freewebindia.com
ディスク容量:5MB
他に国内にも、無料のレンタルサーバありましたよ。
システム基盤も貧相なのに、横柄な個人管理者が運用されています。
ttp://www.sousui.jp
ttp://www.hossy.flnet.org
「普通じゃない WEBスペース サービスを提供しています。」 だって
確かにインターネットに提供できるレベルじゃないですね。。
格安のJava レンタルサーバはこちら
2009年9月4日金曜日
格安のJava レンタルサーバ
低価格のJava ウェブ ホスティングも調査してみた。
共用サーバの場合、JVMのプロセスが契約者ごとに独立していないと、Javaアプリに他契約者の影響を受けてしまう。でもプライベートJVMとか、JVMの仮想化とか求めると、低価格では難しいみたいです。
MochaHost (米国) Business Plan +
http://www.mochahost.com
月額:$3.99
共用JVM
Omnicus (米国) Regular Hosting Plan
http://www.omnicus.net
月額:$4
HOST SYST (ブルガリア) Java Hosting Plan
http://hostsyst.com
月額:€5
Javaprovider (米国) Shared JVM Java Hosting Plan
http://javaprovider.net
月額:$5.95
共用JVM
MochaHostが格安ですね、実際の評価は別にして。
あと、これらの費用と別途初期設定料金が必要だったりします。
国内だとここまで安くはないですが、調べてみました。だが国内の低価格 Javaホスティングは、Java・Tomcatのバージョンが古いところがあるので要注意です。
Struts2ならば、Java 5、JSP 2.0、Servlet 2.4 以上が必要です。
株式会社EasyTone White Plan
http://www.easytone.jp
月額:¥500 (恐らく国内最安値)
JRE 1.4.2、Tomcat 5.03
ルナウェブ 共用レンタルサーバー・ヴィーナスプラン
http://lunaw.com
月額:¥790 (ただし年一括払)
JRE 1.5.0、Tomcat 5.5.9
他の国内サーバは ¥1,000を超えます。でもこの価格だといろいろ制約があります。
有限会社アキラ ミニプラン
http://www.akira.ne.jp
月額:¥1,470 (12ヶ月契約の場合)
JRE 1.4.2、Tomcat 4.1.31、Strutsは使用可能らしいが、Struts2は無理。
WISNET Expert-Lightプラン
http://www.wisnet.ne.jp
月額:¥962 (12ヶ月契約の場合)
JSPのみで、Servletには未対応らしい。
どうせ出費できるのなら内容も吟味したいです。
1stレンタルサーバー JAVAレンタルサーバー・レギュラープラン
http://java.1strentalserver.com
月額:¥2,520 (12ヶ月契約の場合)
JVM仮想化
ある程度の出費ができるならば、仮想専用サーバ(VPS)も十分出費の圏内に入るし、
自分で環境構築してしまえば、必要な機能でサーバを用意できる。
ただしroot権限が無いと駄目です。
QuickVPS プランA
http://www.quickvps.net
月額:¥550
root権限付き
日本ラッド情報サービス Osukiniサーバー
http://www.saases.jp
月額:¥980 (ただし6ヶ月一括払)
root権限付き
HOSTING & SECURITY(GMO系) VPSサーバー・10G
http://jp.webk.net
月額:¥980 (12ヶ月契約の場合)
root権限付き
サーバの電気代コストを考えると、自宅にサーバ構築するよりVPSを借りたほうが安いですね。
無料のJava レンタルサーバはこちら
共用サーバの場合、JVMのプロセスが契約者ごとに独立していないと、Javaアプリに他契約者の影響を受けてしまう。でもプライベートJVMとか、JVMの仮想化とか求めると、低価格では難しいみたいです。
MochaHost (米国) Business Plan +
http://www.mochahost.com
月額:$3.99
共用JVM
Omnicus (米国) Regular Hosting Plan
http://www.omnicus.net
月額:$4
HOST SYST (ブルガリア) Java Hosting Plan
http://hostsyst.com
月額:€5
Javaprovider (米国) Shared JVM Java Hosting Plan
http://javaprovider.net
月額:$5.95
共用JVM
MochaHostが格安ですね、実際の評価は別にして。
あと、これらの費用と別途初期設定料金が必要だったりします。
国内だとここまで安くはないですが、調べてみました。だが国内の低価格 Javaホスティングは、Java・Tomcatのバージョンが古いところがあるので要注意です。
Struts2ならば、Java 5、JSP 2.0、Servlet 2.4 以上が必要です。
株式会社EasyTone White Plan
http://www.easytone.jp
月額:¥500 (恐らく国内最安値)
JRE 1.4.2、Tomcat 5.03
ルナウェブ 共用レンタルサーバー・ヴィーナスプラン
http://lunaw.com
月額:¥790 (ただし年一括払)
JRE 1.5.0、Tomcat 5.5.9
他の国内サーバは ¥1,000を超えます。でもこの価格だといろいろ制約があります。
有限会社アキラ ミニプラン
http://www.akira.ne.jp
月額:¥1,470 (12ヶ月契約の場合)
JRE 1.4.2、Tomcat 4.1.31、Strutsは使用可能らしいが、Struts2は無理。
WISNET Expert-Lightプラン
http://www.wisnet.ne.jp
月額:¥962 (12ヶ月契約の場合)
JSPのみで、Servletには未対応らしい。
どうせ出費できるのなら内容も吟味したいです。
1stレンタルサーバー JAVAレンタルサーバー・レギュラープラン
http://java.1strentalserver.com
月額:¥2,520 (12ヶ月契約の場合)
JVM仮想化
ある程度の出費ができるならば、仮想専用サーバ(VPS)も十分出費の圏内に入るし、
自分で環境構築してしまえば、必要な機能でサーバを用意できる。
ただしroot権限が無いと駄目です。
QuickVPS プランA
http://www.quickvps.net
月額:¥550
root権限付き
日本ラッド情報サービス Osukiniサーバー
http://www.saases.jp
月額:¥980 (ただし6ヶ月一括払)
root権限付き
HOSTING & SECURITY(GMO系) VPSサーバー・10G
http://jp.webk.net
月額:¥980 (12ヶ月契約の場合)
root権限付き
サーバの電気代コストを考えると、自宅にサーバ構築するよりVPSを借りたほうが安いですね。
無料のJava レンタルサーバはこちら
2009年8月26日水曜日
Windowsのサービス・ウィンドウより、サービスを削除する。
Windows管理ツールのサービス・ウィンドウより、サービスを削除したい場合
ウィンドウからではサービスを削除できない。
サービスを削除する場合は、コマンドプロンプトより削除する。
> sc delete [サービス名]
サービス名は、サービス・ウィンドウの、
サービスを右クリックし、プロパティより確認できる。
ウィンドウからではサービスを削除できない。
サービスを削除する場合は、コマンドプロンプトより削除する。
> sc delete [サービス名]
サービス名は、サービス・ウィンドウの、
サービスを右クリックし、プロパティより確認できる。
2009年8月15日土曜日
FireFox における、CSS の ime-mode
FireFox でも、CSS の ime-mode が使えるようになった。
normalという設定は説明によると、ユーザスタイルシートで利用するそうだが、それ以外に利用方法は無いものだろうか...
disabled設定は「かな入力」設定の場合は半角カナになってしまい、password入力で使用することはできないと思われる。
# Firefox 3 の新機能
https://developer.mozilla.org/Ja/CSS:ime-mode
以下お試し入力
かな漢字入力: (ime-mode: active)
直接入力: (ime-mode: inactive)
IME無効: (ime-mode: disabled)
デフォルトの設定: (ime-mode: auto)
通常の状態: (ime-mode: normal)
未設定:
normalという設定は説明によると、ユーザスタイルシートで利用するそうだが、それ以外に利用方法は無いものだろうか...
disabled設定は「かな入力」設定の場合は半角カナになってしまい、password入力で使用することはできないと思われる。
# Firefox 3 の新機能
https://developer.mozilla.org/Ja/CSS:ime-mode
以下お試し入力
かな漢字入力: (ime-mode: active)
直接入力: (ime-mode: inactive)
IME無効: (ime-mode: disabled)
デフォルトの設定: (ime-mode: auto)
通常の状態: (ime-mode: normal)
未設定:
iTextで表を作成する方法
iTextを使用して、XMLに記述したレイアウト情報からPDFを出力してみた。
itext.dtd によると、table要素のdtd定義は、<!ELEMENT table (cell*)> となっているのだが、table要素とcell要素の間に、row要素が無いと正しく動作しないようだ。
Javaソース
XMLファイル
itext.dtd によると、table要素のdtd定義は、<!ELEMENT table (cell*)> となっているのだが、table要素とcell要素の間に、row要素が無いと正しく動作しないようだ。
Javaソース
import java.io.*;
import javax.xml.parsers.*;
import com.lowagie.text.*;
import com.lowagie.text.pdf.*;
import com.lowagie.text.xml.*;
中略
Document doc = new Document(PageSize.A4, 20, 20, 20, 20);
OutputStream out = new FileOutputStream("forxml.pdf");
PdfWriter pdfwriter = PdfWriter.getInstance(doc, out);
BaseFont jfont = BaseFont.createFont("HeiseiKakuGo-W5", "UniJIS-UCS2-H", BaseFont.NOT_EMBEDDED);
SAXiTextHandler xmlHandler = new SAXiTextHandler(doc, null, jfont);
SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
parser.parse(new FileInputStream("itext.xml"), xmlHandler);
XMLファイル
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE itext SYSTEM "http://itext.sourceforge.net/itext.dtd">
<itext>
<paragraph size="10">
<phrase>iTextサンプル</phrase>
</paragraph>
<table width="100%" widths="25;25;50" columns="3" borderwidth="1.0"
left="true" right="true" top="true" bottom="true">
<row>
<cell borderwidth="0.5" left="true" right="true" top="true" bottom="true">id</cell>
<cell borderwidth="0.5" left="true" right="true" top="true" bottom="true">名前</cell>
<cell borderwidth="0.5" left="true" right="true" top="true" bottom="true">部署</cell>
</row>
<row>
<cell borderwidth="0.5" left="true" right="true" top="true" bottom="true">xxx</cell>
<cell borderwidth="0.5" left="true" right="true" top="true" bottom="true">なまえ</cell>
<cell borderwidth="0.5" left="true" right="true" top="true" bottom="true">xxx部</cell>
</row>
</table>
</itext>
コマンドラインから、Windowsのデータソースを登録する方法
Windowsのユーザ データソースに、コマンドラインから登録するには、odbcconf コマンドが使える。
ただし このコマンドでは、データソースを削除できない。
odbcconf CONFIGDSN "Microsoft Access Driver (*.mdb)" "DSN=テストDS名;Description=DS説明;DBQ=C:\work\testdb.mdb"
odbccp32.cpl コマンドで、ODBC データソース アドミニストレータを開いて実行結果を確認できる。
コマンドではデータソースを削除できないが、ODBCCP32.dllを使えば削除できる。
なんとか自動で削除するには、Windows APIを使ってdllを呼ぶ方法になる。
ただし このコマンドでは、データソースを削除できない。
odbcconf CONFIGDSN "Microsoft Access Driver (*.mdb)" "DSN=テストDS名;Description=DS説明;DBQ=C:\work\testdb.mdb"
odbccp32.cpl コマンドで、ODBC データソース アドミニストレータを開いて実行結果を確認できる。
コマンドではデータソースを削除できないが、ODBCCP32.dllを使えば削除できる。
なんとか自動で削除するには、Windows APIを使ってdllを呼ぶ方法になる。
#include <windows.h>
#define ODBC_ADD_DSN 1 // Add user data source
#define ODBC_CONFIG_DSN 2 // Configure (edit) user data source
#define ODBC_REMOVE_DSN 3 // Remove user data source
#define ODBC_ADD_SYS_DSN 4 // Add system data source
#define ODBC_CONFIG_SYS_DSN 5 // Configure (edit) system data source
#define ODBC_REMOVE_SYS_DSN 6 // Remove system data source
typedef long (*_SQLConfigDataSource)(long, long, char*, char*);
int main(int argc, char* argv[]) {
char driver[] = "Microsoft Access Driver (*.MDB)";
char options[] = "DSN=テストDS名";
HINSTANCE odbcdll = LoadLibrary("ODBCCP32.dll");
FARPROC proc = GetProcAddress(odbcdll, "SQLConfigDataSource");
long result = ((_SQLConfigDataSource)proc) (NULL, ODBC_REMOVE_DSN, driver, options);
FreeLibrary(odbcdll);
return 0;
}
2009年8月14日金曜日
2009年8月13日木曜日
Tomcat6をWindowsのサービスに登録する方法
Tomcatが起動中、ずっとコマンドフロンプトが開いたままだと邪魔なので
Windowsのサービスに登録して、サービスで起動停止したい。
参考資料
http://tomcat.apache.org/tomcat-6.0-doc/windows-service-howto.html#Installing%20services
サービスに登録
%CATALINA_HOME%\bin\service.bat install [service_name]
サービスから削除
%CATALINA_HOME%\bin\service.bat remove [service_name]
デフォルトのサービス名は、tomcat6になる様子
サービス起動
sc start tomcat6
サービス停止
sc stop tomcat6
Windowsのサービスに登録して、サービスで起動停止したい。
参考資料
http://tomcat.apache.org/tomcat-6.0-doc/windows-service-howto.html#Installing%20services
サービスに登録
%CATALINA_HOME%\bin\service.bat install [service_name]
サービスから削除
%CATALINA_HOME%\bin\service.bat remove [service_name]
デフォルトのサービス名は、tomcat6になる様子
サービス起動
sc start tomcat6
サービス停止
sc stop tomcat6
2009年8月12日水曜日
iBATIS ibatorConfig.xmlのclassPathEntryを相対パスで書く
相対パスで書いても、これだとあまり意味がない気がするが。。。
Eclipseの場合、eclipse.exe から辿って、JDBCドライバのパスを記述する。
.\work\eclipse\eclipse.exe
.\work\workspace\..略..\*.jar の場合、
<classPathEntry location="../workspace/Sample1/WebContent/WEB-INF/lib/mysql-connector-java-5.1.7-bin.jar" />
Eclipseの場合、eclipse.exe から辿って、JDBCドライバのパスを記述する。
.\work\eclipse\eclipse.exe
.\work\workspace\..略..\*.jar の場合、
<classPathEntry location="../workspace/Sample1/WebContent/WEB-INF/lib/mysql-connector-java-5.1.7-bin.jar" />
2009年8月11日火曜日
jasperReports detailセクションのフォントを動的に変更
フォントを動的に変更する場合は、net.sf.jasperreports.engine.JasperReportオブジェクトのgetXxxSectionメソッド等で、任意の要素を抽出してフォントを変更すればよい。
JasperReport report = JasperCompileManager.compileReport("sample.jrxml");
report.getTitle().getElementByKey("target1").setForecolor(Color.red);
この場合のjrxmlファイル記述例
ただしdetailセクションの繰り返し項目については、この方法だと任意の項目だけフォントを変更することができない。これにはパターンの数だけフォントを定義しておき、条件により使い分けることで対応できる。
この場合のjrxmlファイル記述例
JasperReport report = JasperCompileManager.compileReport("sample.jrxml");
report.getTitle().getElementByKey("target1").setForecolor(Color.red);
この場合のjrxmlファイル記述例
<title>
<band height="10">
<staticText>
<reportElement x="0" y="0" width="100" height="20" key="target1"/>
<textElement/>
<text><![CDATA[Hello, World!]]></text>
</staticText>
</band>
</title>
ただしdetailセクションの繰り返し項目については、この方法だと任意の項目だけフォントを変更することができない。これにはパターンの数だけフォントを定義しておき、条件により使い分けることで対応できる。
この場合のjrxmlファイル記述例
<detail>
<band height="20">
<textField>
<reportElement x="0" y="0" width="20" height="20" forecolor="#000000">
<printWhenExpression><![CDATA[new Boolean($F{color}.equals("black"))]]></printWhenExpression>
</reportElement>
<textElement />
<textFieldExpression class="java.lang.String"><![CDATA[$F{name}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="0" y="0" width="20" height="20" forecolor="#ff0000">
<printWhenExpression><![CDATA[new Boolean($F{color}.equals("red"))]]></printWhenExpression>
</reportElement>
<textElement><font fontName="Arial"/></textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{name}]]></textFieldExpression>
</textField>
</band>
</detail>
2009年8月10日月曜日
Struts2 アノテーションによるフォーマット
アノテーションでない場合は、Struts2のドキュメントに記載あり。
http://struts.apache.org/2.0.14/docs/type-conversion.html
アノテーションの場合、Actionクラスに記述をする。
使用したConverterは、StrutsTypeConverterを継承して作成したものです。
http://struts.apache.org/2.0.14/docs/type-conversion.html
アノテーションの場合、Actionクラスに記述をする。
@Conversion()
public class SampleAction extends ActionSupport {
private Date tomorrow;
public Date getTomorrow() {
return tomorrow;
}
@TypeConversion(key = "tomorrow", converter = "sample.TimeConverter")
public void setTomorrow(Date tomorrow) {
this.tomorrow = tomorrow;
}
public String execute(){
return SUCCESS;
}
}
使用したConverterは、StrutsTypeConverterを継承して作成したものです。
public class TimeConverter extends StrutsTypeConverter {
@Override
public Object convertFromString(Map arg0, String[] arg1, Class arg2) {
return new SimpleDateFormat("HH:mm").parse(arg1[0]);
}
@Override
public String convertToString(Map arg0, Object arg1) {
return new SimpleDateFormat("HH:mm").format(arg1);
}
}
2009年8月2日日曜日
MySQLに、CSEからODBC経由で接続したときに文字化け
MySQL Connector/ODBC 5.1 を使用してCSEから接続した場合、
データベースの文字コードがUTF-8ならば文字化けしてしまう。
データベース側の設定を変更できる状況でないなら、
通常なら以下の対処を行うが、5.1コネクタだと期待通り動作しない。
CSEより、エンコードの設定を確認
show variables like 'char%';
CSEから、エンコードを変更
SET character_set_client = sjis;
SET character_set_connection = sjis;
SET character_set_results = sjis;
もしくは、クライアント側でmy.cnfファイルの設定を行う。
[odbc]
default-character-set=sjis
※Read Options From my.cnf オプションを有効にする
5.1コネクタだと、上記いずれの対応でも解決しない、
MySQL Connector/ODBC 3.51を使用すれば、上記対応は全て有効だし、
そもそも3.51コネクタならば、ODBCデータソース設定画面の
接続オプションでCharacter setの変更も可能である。
2009年8月1日土曜日
Struts2 s:ifタグの条件判定文(OGNL式)がうまくいかない場合
以下の条件判定は正しく解釈されません
<s:if test="%{#session.flag == 'Y'}">
文字列の場合は、通常ダブルクォーテーションが必要ですが、
2文字以上あれば、シングルクォーテーションでも、適当に解釈して文字列にしてくれます。
ただし、1文字の場合は明確にダブルクォーテーションで囲まないと、charになってしまうので、
注意してください。
例:シングルクォーテーション(2文字以上の場合)
<s:if test="%{#session.name == 'mofu'}">
例:ダブルクォーテーション(1文字以上の場合)
<s:if test='%{#session.flag == "Y"}'>
もしくは
<s:if test="%{#session.flag == \"Y\"}">
<s:if test="%{#session.flag == 'Y'}">
文字列の場合は、通常ダブルクォーテーションが必要ですが、
2文字以上あれば、シングルクォーテーションでも、適当に解釈して文字列にしてくれます。
ただし、1文字の場合は明確にダブルクォーテーションで囲まないと、charになってしまうので、
注意してください。
例:シングルクォーテーション(2文字以上の場合)
<s:if test="%{#session.name == 'mofu'}">
例:ダブルクォーテーション(1文字以上の場合)
<s:if test='%{#session.flag == "Y"}'>
もしくは
<s:if test="%{#session.flag == \"Y\"}">
2009年7月17日金曜日
Jasperreportsの要素を動的に配置する。
エレメントの座標(x,y)を変更することで移動可能であるが、
setXはあるのに、setYが無い!!!
http://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/JRElement.html#setX(int)
何故こういう状態なのか不明だが、無いものは仕方がない。
縦方向には可能性あるだけ配置しておき、不要な要素は消すことにした。
JasperReport jasperReport = JasperCompileManager.compileReport("sample1.jrxml");
// 横移動する
JRElement element = jasperReport.getDetailSection().getBands()[0].getElementByKey("target1");
element.setX(100);
setXはあるのに、setYが無い!!!
http://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/JRElement.html#setX(int)
何故こういう状態なのか不明だが、無いものは仕方がない。
縦方向には可能性あるだけ配置しておき、不要な要素は消すことにした。
JasperReport jasperReport = JasperCompileManager.compileReport("sample1.jrxml");
// 横移動する
JRElement element = jasperReport.getDetailSection().getBands()[0].getElementByKey("target1");
element.setX(100);
2009年7月12日日曜日
Dojo ComboBoxのstyleを動的に変更
Dojo ComboBoxのスタイルを動的に変更する方法として、
入力フィールドのスタイルシートを変更するのでは動作しない。
例として、親要素のスタイルシートを変更することで対応可能だ。
JavaScriptコード
function styleChange() {
var comboBox= document.getElementById("comboBox1");
// これは駄目
comboBox.style.borderColor = "red";
comboBox.style.borderStyle = "double";
// これで可能
comboBox.parentNode.parentNode.style.borderColor = "red";
comboBox.parentNode.parentNode.style.borderStyle = "double";
}
HTMLコード
<select id="comboBox1" dojoType="dijit.form.ComboBox"
autocomplete="false" value="California">
<option selected="selected">California</option>
<option>Illinois</option>
<option>New York</option>
</select>
入力フィールドのスタイルシートを変更するのでは動作しない。
例として、親要素のスタイルシートを変更することで対応可能だ。
JavaScriptコード
function styleChange() {
var comboBox= document.getElementById("comboBox1");
// これは駄目
comboBox.style.borderColor = "red";
comboBox.style.borderStyle = "double";
// これで可能
comboBox.parentNode.parentNode.style.borderColor = "red";
comboBox.parentNode.parentNode.style.borderStyle = "double";
}
HTMLコード
<select id="comboBox1" dojoType="dijit.form.ComboBox"
autocomplete="false" value="California">
<option selected="selected">California</option>
<option>Illinois</option>
<option>New York</option>
</select>