• ベストアンサー

ネスケではdocument.main.日本語.valueは絶対だめ?

下記のように日本語のテキストボックスの場合、ネスケではエラーになってしまいますが、日本語のままでできる裏技はないものでしょうね・・・。 function zipsearch() { n = document.main.郵便番号.value; subWin = window.open('zipsearch.cgi?zip=' + n ,"zipsearch","width=300,height=100") }

質問者が選んだベストアンサー

  • ベストアンサー
  • zzzzzz
  • ベストアンサー率61% (70/113)
回答No.1

それ以前にNetscape以外でも日本語は使わない方がいいですよ。 ただでさえ日本語処理にはバグや妙な仕様が多いですから。 どうしても日本語を使いたいのなら、属性名ではなく、値の扱いをすればなんとかなるのではないでしょうか。 n = document.main["郵便番号"].value; ただ、どちらにせよこのCGIにGETメソッドで渡す動作はうまくいかないと思います。 nの内容がURLエンコードされませんので。 このエンコードに関することは、ブラウザに任せるのが最良、というのが私の意見です。 JavaScriptでもescape()やencodeURI()等の一見使えそうな関数がありますが、 実は文字コードの問題でうまく動作しません。 なので、既存のフォームと異なる動作を実現する場合にはFORMを動的に生成する、等の手法が必要になります。 単にFORMを新しいページにsubmitしたいのであれば、HTMLの記述で <FORM target="_blank ...> とすればOKです。

s-holmes
質問者

お礼

>それ以前にNetscape以外でも日本語は使わない方がいいですよ。 そうですか。 IE限定のイントラだけで最初適当にやっても動いてた癖が今でも抜けなくて・・。 #気持ちを新たに日本語使わない方法に切替えたいと思います。 (^^;

関連するQ&A

  • document.allはネスケでは使えない?

    下記だとIEでもネスケでも動くのですが、 document.Myform.email.value; 下記だとネスケで動きません。 document.all.email.value; 何かいい方法はないでしょうか・・。 function checkMailAddress() { fOBJ = document.main.email.value; check = /.+@.+\..+/; if (!fOBJ.match(check)) alert("メールアドレスが正しくありません"); }

  • 小ウインドウのスクロールバー

    小さいウインドウを出してメニューを作ろうと思っています そこで、早速作ってみたところ、小さいウインドウにはスクロールバーがありませんでした 小ウインドウには、スクロールバーは表示できないのでしょうか? 表示させる方法がありましたら、教えて下さい ちなみに、小ウインドウは下記のようにしています <SCRIPT LANGUAGE="JavaScript"> <!-- function subopen(){ subwin=window.open("menu.html","subwindow","width=290,height=185") } function subclose(){ subwin=window.open("","subwindow","width=290,height=185") subwin.close() } // --> </SCRIPT>

  • 小窓の出し方について教えて下さい。(2)

    http://oshiete1.goo.ne.jp/kotaeru.php3?q=568520 先ほどご回答を頂き、小窓の開き方は解決致しました。 ↓ <script type="text/javascript"><!-- function subwin(imgsrc,imgalt){ sub1=window.open("","subwin","width=230,height=160,resizable=1"); sub1.document.open(); sub1.document.write("<html><head><title>"+imgalt+"</title></head>"); sub1.document.write("<body style='margin: 0;'>") sub1.document.write("<img src='"+imgsrc+"' alt='"+imgalt+"'>"); sub1.document.write("</body></html>"); sub1.document.close(); } //--></script> body内の、呼び出し部分は、 <a href="#" onClick="subwin('画像ファイルのURL','画像ファイルの説明'); return false;"><img src="p_1.jpg" border="0" width="70" height="48"></a> が、クリックして開く小窓に表示させるHTMLファイルで開かせたい 画像が同じページにあります。(大きさは横500縦600) もう1つ教えて頂いた↓ <script type="text/javascript"><!-- function subwin(file){ window.open(file,"subwin","resizable=1, width=230, height=160"); } //--></script> 以上をhead内に記述して、呼び出し部分は <a href="#" onClick="subwin('読み出すHTMLファイルのURL'); return false;"><img src="p_1.jpg" border="0" width="70" height="48"></a> のwidth=230, height=160をwidth=500, height=600にして上記ソースに加えると(?) 全部の小窓がwidth=500, height=600になってしまいます。 width=230, height=160の画像で開かせる小窓と width=500, height=600のHTMLで開かせたい小窓を 同じページに加えるには、どうしたらよいのでしょうか? ご回答宜しくお願い致します。

  • javascriptで別ウインドウを開いたのですが背景設置が上手くいきません。

    いつもお世話になっております。 JavaScriptを使用し別ウインドウで画像を表示させているのですが、 そのウインドウの背景が上手く設定できません。 どのように編集すればよいでしょうか? 現在の状態は以下の通りです。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>aaa</title> <script language="javascript"> <!-- function OpenWindow(){ var width = document.images['00'].width + 228; var height = document.images['00'].height +254; subWin = window.open("","subWin","status=no,menubar=no,toolbar=no,scrollbars=no,resizable=yes,screenX=0,screenY=0,width=" + width + ",height=" + height + '"'); with(subWin.document) { open(); write("<html><head><title>sample1</title></head>"); write("<body onload='window.resizeTo( document.images[00].width + 40,document.images[00].height + 120)'><div align='center'><img id='00' src='b/1b.jpg'><br>"); write("<button type='button' onclick='window.close()'>閉じる</button></body></div></html>"); close(); } } --> </script></head> 宜しくお願いします。

  • <xml>タグを使った例

    つい先日も質問しましたが、具体例を記述したいと思います。 HTMLは以下の感じです。 <form name="frm"> <a href="#" onclick="javascript:call('test');">リンク</a> <xml id="includeXls"> <body scroll="no" style="margin:0 0 0 0"> <iframe name="fra1" src='2.html' height=100% width=100%> </body> </xml> </form> <script language="javascript"> <!-- function call(did){ var arg = "resizable=1,scrollbars=0,width=600,height=480,toolbar=1,menubar1=,directories=0,status=0"; var subWin; if (subWin != null) { if (!subWin.closed) { subWin.close(); } } subWin = window.open("", did, arg); subWin.document.open(); subWin.document.write(includeXls.innerHTML); subWin.document.close(); subWin.focus(); } //--> </script> これを適当な名前でhtmlを表示して、2.htmlという適当なhtmlを指定した「リンク」をクリックすると、 それが開きます。 このとき、<xml>タグを使わずに別のタグを使ってどうようなことができるのならそれを教えていただけたらと思います。 また、この<xml>タグはどういう意味になるのかも教えていただけたらと思います。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • javascriptについて

    入力した各データをサブウィンドウであらわすため、javascript内で function outdata() { f0bj = document.myform; ftxt = f0bj.yourname.value;     ----(a) fxxt = f0bj.phonenumber.value; ----(a) for(i=1; i<5;i++) if(f0bj.elements[i].checked) fBtn = f0bj.elements[i].value; fsel = f0bj.place.options[f0bj.place.selectedIndex].value; subWin = window.open("abc.html","kekka","width=5000,height=300"); subWin.document.open(); subWin.document.write("a:"+ftxt+"<br>"); subWin.document.write("b:"+fxxt+"<br>"); subWin.document.write("c:"+fBtn+"<br>"); if(fBtn == "c"){ subWin.document.write("d:"+fsel+"<br>"); } subWin.document.close(); } として、html内でそれらの記入をしているのですが、この時に今テキストフォームが2つ(a) あるのですがこの時テキストフォームが2つあると残りのラジオボックスとセレクトメニューが うまく表示してくれないのですが何がいけないのでしょうか? ちなみにラジオボックスには項目は4つ、セレクトメニューは5つあり、テキストフォームを1つ にしたらうまく実行できることは確認済みです。

  • window.openの書き方

    初歩的なことかと思いますが、下記の★のところに前行の「n」の値を入れるにはどのように書いたら良か教えていただけますか。 function set() {  n = document.myFORM.moto.value;  window.open('sample.asp?zip=★') }

  • サブウインドウのサイズ等の情報を取得したい

    サブウインドウを開いた後、そのサイズを手でリサイズして、 その後、clientwidth等の情報を入手したいと考えています。 情報入手のところがうまく行かず、2日悩んでいます。 以下のサンプルプログラムを見つけ、その通りに実行しましたが 動作しません。(alert"A"は実施されますが"B"は実施されない おそらく、clientwidthの情報をGetする際に問題がありそれ以降実行されていない) 何か環境等悪いのでしょうか?行き詰っています お教えいただきたくお願い申し上げます。 <script Language="JavaScript"><!-- function setCenter() { subWin = window.open("Hogegoge.html","sub","width=620,height=480"); scrnW = screen.width; scrnH = screen.height; alert("A"); winW = subWin.document.body.clientWidth; alert("B"); winH = subWin.document.body.clientHeight; x = (scrnW - winW) /2; y = (scrnH - winH) /2; subWin.moveTo(x,y); } // --></script> <form> <input type="button" value="中央に移動" onClick="setCenter()"> </form>

  • サブウィンドウから親画面に渡すには

    サブウィンドウでチェックを入れた項目を、「選択」というボタンを押すことで親画面のselectボックス内に表示させたいのですが、下記のどのようなコードを追加すればよろしいでしょうか。 --------------------------------------- <html> <head> <script LANGUAGE="JavaScript"> function WindowOpen(){ subWin=window.open(); subWin.document.open(); subWin.document.write("<html><body><form name='subform'>"); subWin.document.write("<input type='checkbox' name='check1'>東京"); subWin.document.write("<br><input type='checkbox' name='check2'>大阪"); subWin.document.write("<br><input type='checkbox' name='check3'>名古屋"); subWin.document.write("<br><input type='button' name='btn2' value='選択'>"); subWin.document.write("</form></body></html>"); subWin.document.close(); } </script> </head> <body> <form name="myform"> <input type="button" name="btn1" value="参照" onClick="WindowOpen();"> <select name="slct1" size="3" style="width:50%;"> <option> <option> <option> </select> </form> </body> </html>

  • フレームを使ったサブウィンドウから親ウィンドウへのデータセット

    下記のソースをフレームを使わないサブウィンドウから実行すると うまく親ウィンドウの該当項目へセットできますが、 フレームをつかったサブウィンドウからだとうまくセットできません。 ご存知の方おりませんか? よろしくお願いします。 function setData(theData) { window.opener.document.MAIN_FORM.DATA0.value = theData[0]; window.opener.document.MAIN_FORM.DATA1.value = theData[1]; window.opener.document.MAIN_FORM.DATA2.value = theData[2]; window.opener.document.MAIN_FORM.DATA3.value = theData[3]; window.opener.document.MAIN_FORM.DATA4.value = theData[4]; } <input type="button" onClick="setData(Array('000','111','222','333','444'))" value="選択">