WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:SELECT内の等角フォント

0:[投稿] popo [2002/10/11 17:01 ][環境:WIN+NN その他]

SELECT内の等角フォントをN7で適用の件。

お疲れ様です。

selectの中を綺麗に表示させようと思い、下記のソースを作りました。がIEではうまくいくのにN7ではうまく表示されません。

因みに<TT>タグでも囲んで見ましたが、うまくいかないのです。

すみません。教えてください。

<ソース>
<body onload="KIGOU(4,4,100)">
<STYLE type="text/css">
.m6 {     
        font-size: 14px;
        font-style: normal;
        font-family: monospace;
        line-height: 1.4em;
}
</STYLE>

<script type="text/javascript">
<!--

//----------------------------------------------------------------------------
/* selectの画面表示 */

    function trashGomi(s){
        s=unescape(escape(s).split("%00")[0]);
        return s;
    }

    function getByte(str){
        if (str=="" || !str || str==null) return 0;
        str=trashGomi(str);
        var strS=str.replace(/[^0-9a-zア-ン\!\"\#\$\%\&\'\(\)\-\=\^\~\\\|\@\`\[\{\;\+\:\*\]\}\,\<\.\>\/\?\_]/ig,"##");
        return strS.length;
    }

    function getLength(str){
        if (str=="" || !str || str==null) return 0;
        str=trashGomi(str);
        var strS=str.replace(/[^0-9a-zア-ン\!\"\#\$\%\&\'\(\)\-\=\^\~\\\|\@\`\[\{\;\+\:\*\]\}\,\<\.\>\/\?\_]/ig,"#");
        return strS.length;
    }

    function KIGOU(C_COUNT,R_COUNT,COUNT){

        var COUNT = (C_COUNT - 1)
        var DATA = new Array(R_COUNT);
        var S_DATA = new Array(20);
        var z = new Array(COUNT);
        var y = new Array(COUNT);

        var i;
        var k;
        
        var KANJI = (document.Form4.elements["KANJI_NAME"].value).split(",");
        var KANJIM = (document.Form4.elements["KANJI_NAME"].value).split(",");
        var KAKUNOU = (document.Form4.elements["KAKUNOU_RECODE"].value).split(",");

        for(i=0; i < KANJI.length; i++){
            k = KANJI[i].length;

            z[i] = getByte(KANJI[i]);
            y[i] = getLength(KANJI[i]);
                
            if(z[i] != y[i]){
                var goukei = 30 - k;
                y[i] = y[i]*2;
                while(y[i] > z[i]){
                    KANJI[i] += " ";
                    z[i]++;
                }
                while(goukei > 0){
                    KANJI[i] += "  ";
                    goukei--;
                }
            }else{
                if(z[i] == y[i]){
                    var goukei = 60 - k;
                    while(goukei > 0){
                        KANJI[i] += " ";
                        goukei--;
                    }
                }
            }
        }

        k = 0;
        goukei = 0;

        for(i=0; i < KAKUNOU.length; i++){
                KAKUNOU[i] += "件";
                k = KAKUNOU[i].length;
                var goukei = 10 - k;

                while(goukei > 0){
                    KAKUNOU[i] = " " + KAKUNOU[i];
                    goukei--;
                }
                    KAKUNOU[i] += "  ";
        }

        for(var a=0; a < R_COUNT; a++){
            DATA[a] = KANJI[a] + KAKUNOU[a];
        }

        document.Form4.elements["S_DB"].length = DATA.length;

        for(var b in DATA){
            document.Form4.elements["S_DB"].options[b].text = DATA[b];
            document.Form4.elements["S_DB"].options[b].value = KANJIM[b];
        }
        
        document.Form4.elements["S_DB"].selectedIndex = DATA[0];
    }

-->
</script>
<form name="Form4" action="ok.html">
<input type="hidden" name="KANJI_NAME" value="なんで?,oh,できない,AAAA">
<input type="hidden" name="KAKUNOU_RECODE" value="1000,2000,10,2000">

<tt>
<select name="S_DB" size="10" class="m6">
</select>
</tt>
</form>
</div>

<br>
<br>
</body>


1:[回答] ween [2002/10/11 17:54 ]

.m6 のスタイルに white-space:pre; を追加。


2:[回答] popo [2002/10/11 18:02 ]

ありがとうございます。
悩んでいたのが、解決しました。

しかしこの件とは別に、このjavascriptはいろいろ問題がある、汚いソースって事に気づきました。(^^;


3:[完了] popo [2002/10/11 18:03 ]

完了です。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World