• ベストアンサー

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

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

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

  • ベストアンサー
noname#227796
noname#227796
回答No.1

document.allはIE拡張なのでネスケでは有効ではありません。 レイヤの操作の場合なら、ネスケの方は、代わりにdocument.layersを使えますが、この場合は意味はないでしょう。 document.allでなければならない、何か理由があるのでしょうか? 対応方法はわかっているのですから、それでいけば良いと思います。 できるだけ、IEとネスケで共通の処理で済ませた方が良いですから。 フォームに「Myform」という名前を使いたくないだけなら、他の方法もありますが。(document.forms[0]で指定するとか)

s-holmes
質問者

お礼

>document.allはIE拡張なので そういうことなのですね。その辺の情報の入れ方がまだ要領を得なくて・・。 勉強になりました。今やれる方法で試してみます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

noname#45976
noname#45976
回答No.3

下の投稿、失礼しました。^^; IE4以降のダイナミックHTMLなのね、、、 確かにネスケでは使えません。>< ブラウザを固定にしたくないなら、初歩的な記述(フォーム名指定にするとか)に変更するのがいいかも。^^

s-holmes
質問者

お礼

回答ありがとうございました。 >初歩的な記述(フォーム名指定にするとか)に変更する とりあえず、その手で対応することにしました。

全文を見る
すると、全ての回答が全文表示されます。
noname#45976
noname#45976
回答No.2

>下記だとIEでもネスケでも動くのですが、 >document.Myform.email.value; >下記だとネスケで動きません。 >document.all.email.value; うーん、全体的なソースが不明なので何とも言えませんが、、、 「Myform」とか「all」の部分はチェックしたいフォームのフォーム名になるのはご存知ですよね。 単にフォーム名が「all」になってない、、、のではないでしょうか?^^; フォーム名、allにしても動くはずですので、フォームタグに<FORM name="all" ....>のようなネーム属性が指定されているかどうか確認してみてください。 ところで、 >fOBJ = document.main.email.value; の部分のフォーム名も違うもののようですが、その辺の統一は大丈夫でしょうか?^^; このチェックを使う場合、フォーム名を「all」にするならと「fOBJ = document.all.email.value; 」に変更しなければなりません。 見当違いの回答をしていたらごめんなさい。>< もっと違う意味の質問かしら、、、^^;

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 一括で入力のチェックをしたいのです!

    どなたか教えてください・・・ フツー入力チェックを行う場合 <SCRIPT language="JavaScript"> <!-- function Check(){ if(document.myform.Name.value==""){ alert("名前を入力してください。"); return false; } if(document.myform.Email.value==""){ alert("Eメールアドレスを入力してください。"); return false; } if(document.myform.Email.value.indexOf("@")<=0){ alert("Eメールアドレスが正しくありません。"); return false; } if(document.myform.Comment.value==""){ alert("コメントを入力してください。"); return false; } return true; } // --> </SCRIPT> こんなカンジで各フォーム毎にチェックを行い メッセージを出したりすると思うのですが、 フォーム数が多いため、入力のチェックを 一括で行いたいのですが・・・ JavaScriptを始めて間もないため とんちんかんな質問をしている様でしたら すみません。 どなたか入力チェックを一括で出来る方法を 教えて頂けないでしょうか・・・ お願いします。

  • ネスケで動かない空白チェック

    下記のようにリストボックスの未選択をチェックしていますが、ネスケだと動きません。アドバイスをいただけないでしょうか。 function submitCheck(){ for( i=0 ; i<document.main.length ; i++ ){ if(document.main.elements[i].type == "select-one" && document.main.elements[i].value == "err"){ alert("未選択項目があります。"); document.main.elements[i].focus(); return false; } } } <FORM NAME="main" ACTION="test.cgi" METHOD="post" onSubmit="return submitCheck()"> <SELECT NAME="性別"> <OPTION value="err" SELECTED>↓【選択して下さい】</OPTION> <OPTION>男</OPTION> <OPTION>女</OPTION> </SELECT> <INPUT TYPE="submit" VALUE="送 信" onClick="document.main.name.value=''">

  • フォームのチェックについて

    今、フォームの送信ボタンを押すとチェックする 関数を作成しております。 function restChar() { if(10000 < document.F1.ご質問内容.value.length) window.alert("ご質問内容は全角5,000字以内でお願いします"); } function check(){ var flag = 0; if(document.F1.name.value == ""){ // 「お名前」の入力をチェック flag = 1; } else if(document.F1.kana.value == ""){ // 「パスワード」の入力をチェック flag = 2; } else if(document.F1.mail.value == ""){ // 「コメント」の入力をチェック flag = 3; }      else if(document.F1.ご質問内容.value == ""){ // 「コメント」の入力をチェック flag = 4; } if(flag == 1){ window.alert('お名前を入力してください'); // 入力漏れがあれば警告ダイアログを表示 return false; // 送信を中止 } if(flag == 2){ window.alert('フリガナを入力してください'); // 入力漏れがあれば警告ダイアログを表示 return false; // 送信を中止 } if(flag == 3){ window.alert('メールアドレスを入力してください'); // 入力漏れがあれば警告ダイアログを表示 return false; // 送信を中止 }      if(flag == 4){ window.alert('ご質問内容を入力して下さい'); // 入力漏れがあれば警告ダイアログを表示 return false; // 送信を中止 } fOBJ = document.F1.mail.value; check = /.+@.+\..+/; if (!fOBJ.match(check)){ window.alert("メールアドレスが正しくありません"); return false; // 送信を中止 } fOBJ = document.F1.ご質問内容.value.length; if(10000 < fOBJ){ window.alert("ご質問内容は全角5,000字以内でお願いします"); return false; // 送信を中止 } return true; // 送信を実行 } こんな感じです。 1-4のチェックは問題ないのですが、 アドレスと文字数のチェックは、一度は ダイアログがでますが、連続で押すと通ってしまいます。 何がわるいのでしょうか?

    • ベストアンサー
    • Java
  • ネスケで動かないjavascriptの調べ方

    下記はセレクトボックスを選択させるためのものですが、IEでは動きますが、NNでは動きません。この時に、何かで調べようとするときに、「何」を調べればいいのかさっぱりです。できれば、 1番目に○を調べ、 2番目に○を調べ、 というような手順についてアドバイスいただけないでしょうか。 <SCRIPT language=JavaScript> function submitCheck(){ for( i=0 ; i<document.main.length ; i++ ){ if(document.main.elements[i].type == "select-one" && document.main.elements[i].value == "err"){ alert("未選択項目があります。"); document.main.elements[i].focus(); return false; } } } </SCRIPT> <FORM NAME=main ACTION="sample.cgi" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded" onSubmit="return submitCheck()"> <SELECT NAME="kubun"><OPTION SELECTED value="err">↓【選択して下さい】</OPTION> <OPTION>りんご</OPTION> <OPTION>みかん</OPTION> </SELECT> <INPUT TYPE="SUBMIT" NAME="Submit" VALUE="送信"></form>

  • javascriptをはじめて勉強しているものです。

    javascriptをはじめて勉強しているものです。 すみません。 以下のソースで、フォームがサブミットされたら、 inputの中身の値をチェックするものです。 chkValue()実行時、 emailアドレスの入力形式をチェックする関数をいれていますが、 こちらが、意図した動作をしません。(GETされてしまう) 原因教えていただきたいです。 お手数をお掛けしますが、どうぞよろしくお願いいたします。 <html> <head> <script type ="text/javascript"> <!-- function chkNum(T){ if(T.value.match(/[^0-9]/g)){ T.value=""; alert("数値以外は入力できません。"); } } function chkValue(){ if(document.myform.tboxInt.value.match(/[0-9]{4}/)){ document.myform.tboxInt.style.backgroundColor="#000"; }else{ alert("4桁の数字でないといけません。"); document.myform.tboxInt.style.backgroundColor="#f99"; document.myform.tboxInt.focus(); return false; } if(document.myform.tboxemail.value.match(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/)){ alert("ok"); }else{ document.myform.tboxEmail.value=""; alert("正しいメールアドレス形式で入力してください。"); document.myform.tboxemail.style.backgroundColor="#f99"; document.myform.tboxemail.focus(); return false; } alert(document.myform.tboxemail.value); alert("ok2") return true; } //--> </script> </head> <body> <form name="myform" onSubmit="return chkValue()"> <table border="1"> <tr> <td>数値フィールド</td> <td><input type="text" name="tboxInt" onkeyup="chkNum(this)"></td> </tr> <tr> <td>メールアドレス</td> <td><input type="text" name="tboxemail"></td> </tr> </table> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <input type="submit" value="確認"> </form> </body> </html>

  • 半角英数字の判別

    お世話になります テキストフィールドにおいて半角英数字のチェックをしたいのですが・・・ 例えば『012ab』のような場合、 <script Language="JavaScript"> <!-- function checkText() { txt = document.myFORM.moto.value; if (txt.match(/[^a-z|^A-Z]/g)) alert("アルファベット以外が含まれてます"); } //--> </script> <form name="myFORM"> <input type="text" name="moto"> <input type="button" value="調べる" onClick="checkText()"> </form> では数字が入力されてるとalertされます function checkNum() { txt = document.myFORM.moto.value; for (i=0; i<txt.length; i++) { c = txt.charAt(i); if ("0123456789".indexOf(c,0) < 0) { alert("数値以外が含まれてます"); return; } } } //--> </script> <form name="myFORM"> <input type="text" name="moto"> <input type="button" value="調べる" onClick="checkNum()"> </form> ではアルファベットがあるとalertされてしまいます この2つをどのように組み合わせれば半角英数字以外であればalertされるようになるのでしょうか?

  • ネスケでjavascriptを動作させたいのですが・・・

    こんにちは。 javascriptである画像をクリックすると、任意の場所にその画像を説明 するテキスト文を表示させる、ということをしたいのですが、IE、mozilla ではそれができるのですが、ネスケではどうしたものかテキスト文が表示 されません。 ソースは以下を使用しています。 <script language="Javascript"> function Click_Sub1() {   document.all.div1.innerHTML="出た!"; } function Click_Sub2() {   document.all.div1.innerHTML="消えた!?"; } function Click_Sub3() {   document.all.div1.innerHTML="出た!"; } function Click_Sub4() {   document.all.div1.innerHTML="でてるよ・・・"; } function Click_Sub5() {   document.all.div1.innerHTML="ひいー"; } function Click_Sub6() {   document.all.div1.innerHTML="わおわおわお~"; } </script> これを<head>内に記述して、<body>内の任意の場所に <DIV id="div1" STYLE="position:absolute;left:164px;top:477px; width: 469px; height: 69px;"></DIV> としています。 このソースではネスケはたとえば上の「出た!」といったテキスト文が まったく表示されません。ネスケの「仕様」なのか、ネスケでも実現できる のか、できるとしたらどのような指定方法なのか、ご存知の方がいたらご教授 願います。よろしくお願いします。 色々調べたのですが、コピペできるソースを配布してる素材やさんでも サンプルをネスケで閲覧するとやっぱりでない、という状況なので、なかなか 難しいのでしょうか・・・。

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

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

  • @のチェック方法

    OKボタンのチェック処理なのですが、、、 以下の用のチェックでif文にJEmailに@マークが 含まれているかチェックを行いとのですが、 どうすれば宜しいのでしょうか? function onclick_ok() { num = document.fm.JEmail.value; if (num == "") { alert("E-mailアドレスの形式で入力してください。"); document.fm.JEmail.value=""; } }

  • 2つのJavaSを使う場合・・・

    こんにちは、他の質問もさせていただいているのですが、こちらもお願いいたします! 私はホームページに関して素人なのですが、WEBで例文などをコピーしてきて利用させて頂いています。しかし元が素人なのでわからない事が多く・・・ 例えば、 <script language="JavaScript"><!-- function check() { txt = document.myFORM.TEST.value; n = txt.length; if (n > 10) alert("10文字以内にしてください"); } // --></script> </head><body><form name="myFORM"> <textarea rows="3" name="myTEXT" onChange="check()"></textarea> </form></body></html> こういうテキストボックの入力文字を規制するスクリプトと、 <SCRIPT language="JavaScript"> <!-- function Check(){ if(document.myform.TEST.value==""){ alert("コメントを入力してください。"); return false; } return true; } // --></SCRIPT> という未入力だった場合アラートを出すスクリプトを2つ使いたい時はどのように設定すればいいのでしょうか? <SCRIPT language="JavaScript"><!-- の下に両方書きますよね?で、両方とも function check() というのを使うようなのですが・・・。 素人で全くわかりません。やはり勉強しようかと思いますが、とりあえず、上記を ご存知の方、よろしくお願いいたします!

    • ベストアンサー
    • HTML
このQ&Aのポイント
  • ELECOMのルータを使用していますが、使用開始してから3日ほどでインターネットに繋がらなくなりました。対処法をご存知の方はいらっしゃいますか?
  • ELECOMのルータを使っているのですが、インターネットに繋がらない問題が発生しています。使用開始してから3日ほどで繋がらなくなり、サファリやGoogleを開こうとすると接続がプライベートであると表示されます。さらに、Yahooにログインする際にはパスワードの入力を求められます。ルーターのリセットやiPadの再起動を試しましたが、ネットに接続できません。何か解決策はありますか?
  • ELECOMのルータを使っていますが、使用開始してから数日後にインターネットに繋がらなくなりました。Wi-Fiのマークは表示されていますが、サファリやGoogleを開くことができず、接続がプライベートであると表示されます。また、Yahooにはパスワードの入力を求められます。ルーターのリセットやiPadの再起動を行いましたが、接続ができません。どうすれば問題が解決するでしょうか?
回答を見る

専門家に質問してみよう