JavaScriptでIEの自動ログインについて

このQ&Aのポイント
  • JavaScript初心者によるIEの自動ログインについての質問です。
  • IE上で表示されたログインボタンをJavaScriptでクリックしたいが、name属性がなくクリックできない。
  • どのようにしてJavaScriptでこのボタンを押すことができるか教えてください。
回答を見る
  • ベストアンサー

JavaScriptでIEの自動ログインについて

JavaScriptの初心者でIE上で表示されたログインボタンをクリックしたいのですが、name="ボタン名"がなくクリックできないんです。 「ie.document.MainForm(0).submit.click();」と記入してみたのですが、クリックできないんです。 下記のようなボタンをJavaScriptで押すにはどうしたらいいのでしょうか? どなたかすいませんがご教授ください。 ===================================================== ボタンのHTML <form name="MainForm" method="POST" action="/login" target="_self"> <table border="0" width="510"> <tr> <td width="140">&nbsp;</td> <td width="160" align="center"><input type="submit" style="width:100" value="ログイン" onClick="return buttonHandler('ok');"></td> <td width="210">&nbsp;</td> </tr> </table> <br> </form>

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

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

document.MainForm.submit() じゃダメなの? あとは document.MainForm.elements[0].click() とか document.getElementsByTagName("input")[0] とか var inputs = document.getElementsByTagName("input"); for (var i = 0, l = inputs.length; i < l; i++) { var input = inputs[i]; if (input.type == "submit") { input.click(); break; } } とかしてもいいわね

YamiYun
質問者

お礼

ありがとうございます。 よく分からないですが、最後のfor文だけがうまく行きました。

関連するQ&A

  • javascriptでログインページの作成

    JSPを作成しているのですが、javascirpt構文の方が 多いため、こちらで質問をさせて頂きます。 javascript, html で ログインページを作成しています。 <%@ page contentType="text/html;charset=Shift_JIS" %> <script type="text/javascript" language="javascript"><!--     function Submit(name,pass,f){  if(name == null){ document.getElementBy(f).action="http://www.yahoo.co.jp"; document.getElementById(f).submit(); }else{ document.getElementById(f).action="http://www.google.co.jp"; document.getElementById(f).submit(); } } //--></script> <form action="login.jsp" method="post" NAME="f1"> <table border="1" width="30%"> <tr> <td>ユーザーID:</td> <td><input type="text" name="admin" size="25" value=""></td> </tr> <tr> <td>パスワード:</td> <td><input type="password" password="password" value=""></td> </tr> </table> <%--- これが悪いのかも!? --- %> <% String name = request.getParameter("name"); String password= request.getParameter("password"); %> <input type="submit" value="ログイン" onClick="Submit('name','password','f1');"> </form> </body> </html> ログインボタンをクリックして、name,password,f1(formの名前)を function のSubmitに値を渡したいのですが、nullが渡されてしまいます。 テキストボックスで入力された値を渡したいのですが、 javascript,htmlの知識が乏しいため、どこがおかしいのかわかりません。 もしわかる方が居ましたら、よろしくお願いたします。

  • html:linkでリンククリック時に画面入力値を取得してアクションへ渡す方法

    Strutsを使用したログイン画面を作成しています。ID・パスワードを入力して、html:linkをクリックしてログインするという処理を行いたいです。 そこで、リンクをクリックした際にJSPに記述しているhtml:textとhtml:passwordの値を取得して、Actionへ渡し、その情報を元にDBへの問い合わせを行いたいのですが、html:linkで複数パラメータを渡す方法が分からないので教えていただきたいです。 過去質も参考にしてみましたが、今回の質問に的を得た内容がなかったので質問させていただきました。 参考にした方法 (1)JavaScriptのonclickイベントでサブミットさせる ⇒例えばdocument.form.submit();と書けそうだが,html:formにはname属性がないため、formの指定ができない?! (2)Mapを利用してパラメータを渡す ⇒JSP内にMap設定のロジックを書く。Map(name,value)の形式で、value部分(画面入力値)はどうやって取得するのか分からない。 【struts-config】 <action-mappings> <action path="/login_Anken" type="action.Login_Anken_Action" name="login_Anken_Form" validate="true" input="/pages/Login_Anken.jsp" scope="request"> <forward name="success" path="/pages/MainMenu.jsp"/> <forward name="fail" path="/pages/Login_Anken.jsp"/> </action> 【Login_Anken.jsp】 <html:form action="/login_Anken" > <table border="0" width="100%" > <tr> <td class="pname" colspan="4" > ****システム </td> </tr> <tr> <td colspan="4"> <hr size="5" width="100%" noshade> </td> </tr> <tr> <td class="gname" colspan="4" > ログイン </td> </tr> <tr> <td colspan="4" > <hr size="5" width="100%" noshade> </td> </tr> <tr> <td width="25%" >&nbsp; </td> <td class="login"> ユーザID </td> <td width="20%""> <html:text property="userId"/> </td> <td width="20%">&nbsp; </td> </tr> <tr> <td width="25%" >&nbsp; </td> <td class="login"> パスワード </td> <td width="20%""> <html:password property="password" /> </td> <td width="20%">&nbsp; </td> </tr> <tr> <td width="10%" align="center" colspan="4" > <html:link action="/login_Anken" name="map">ログイン </html:link> </td> </tr> </table> </html:form> 【Login_Anken_Action.java】 public class Login_Anken_Action extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ActionMessages errors = new ActionMessages(); //画面入力値を取得 Login_Anken_Form loginAnkenForm = (Login_Anken_Form) form; boolean isSuccess = false; Login_Anken_Business business = new Login_Anken_Business(); String userName = null; userName = business.getLoginUserName (loginAnkenForm.getUserId(), loginAnkenForm.getPassword()); //ユーザが存在すればログインOK isSuccess = (userName != null); if (isSuccess) { //TODO HttpSession session = request.getSession(); session.setAttribute("name", userName); return mapping.findForward("success"); } else { errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("errors.login")); saveErrors(request, errors); return mapping.findForward("fail"); } } }

    • ベストアンサー
    • Java
  • JavaScriptでIE上のボタンクリック

    JavaScriptの初心者でIE上で表示されたボタンをクリックしたいのですが、2つのボタンのうち1つをクリックしたいです。 「document.all("Buttonok").click();」,「document.getElementById("Buttonok").click();」と記入してみたのですが、エラーとなります。 下記のようなボタンをJavaScriptで押すにはどうしたらいいのでしょうか? どなたかすいませんがご教授ください。 ===================================================== ボタンのHTML ※formで囲まれてないです。 <table border="0" cellspacing="0" cellpadding="0" width="150"> <tr> <td width="50%"> <div id="Button"> <input type="buttonok" value="OK" class="Button" onclick="onClk("1");" /> </div> <div id="Button"> <input type="buttonng" value="NG" class="Button" onclick="onClk("0");" /> </div> </td> </tr> </table>

  • ボタンクリックでフォーカス移動

    JavaScript超ビギナーなので方法がよくわかりません。 フォームにテキストボックス(配列)4個あり ボタンを押すたびに未記入のテキストボックスにカーソルを移動したいのですが。どのようにしたらいいでしょうか。 <form name="form1" method="post"> <table width="200" border="1"> <tr><td ><input type="submit" name="Submit" value="送信"></td></tr> <tr><td ><input type="text" name="name1"></td></tr> <tr><td><input type="text" name="name1"></td></tr> <tr><td><input type="text" name="name1"></td></tr> <tr><td><input type="text" name="name1"></td></tr> </table> </form>

  • JavaScriptを入れるとtdタグ内の高さが広がる

    CSSにて高さ指定もしてあるのですが、JavaScriptの記載あるtdタグの高さがIEだと広がってしまいます。 この現象はFireFoxだと現れません。 下記コードですと3段目と4段目のtdの高さが他の段に比べ広がってしまいます。 何か解決策とうございましたら、教えてください。 -----------JavaScript関数----------- <script language="javascript"> function goNext() {  if (confirm("確認")) {   return true;  } else {   return false;  } } </script> -----------html----------- <table id="tablea"> <tr><td class="b"><img src="img.jpg"/></td></tr> <tr><td>&nbsp;</td></tr> <tr><td class="b"><form action="5_4modify1_pla.html" onsubmit="return goNext();"><input name="bb" type="image" src="img.jpg" width="150" height="30"/></form></td></tr> <tr><td class="b"><form action="5_4modify1_pla.html" onsubmit="return goNext();"><input name="bb" type="image" src="img.jpg" width="150" height="30"/></form></td></tr>  <tr><td class="b"><img src="img.jpg"/></td></tr> </table> -----------CSS----------- .b {height: 30px;} #tablea { width: 180px; height: 200px;} ----------------------

    • ベストアンサー
    • HTML
  • NetScape7でJavaScriptの関数を呼んでくれない

    お世話になります、 JavaScriptで以下のような感じで画面を作成し、 リンクをクリックするとexecJumpUrl()を呼び出し submit()をおこすという処理を行っているのですが、 Netscape7で動かした場合だけ、execJumpUrl()が呼ばれないという現象が起こっております。他のブラウザ(Netscape5や6、IE5.5等)は正常にexecJumpUrl()がよばれております、これはどのようなことが原因でおこっているのでしょうか? ご存知の方宜しくお願いします。 ソースここから----------------------- <script language="JavaScript"> function execJumpUrl(param){ document.Form.param.value = unescape(param); document.Form.action="http://xxxxxx/xxx.html"; document.Form.submit(); } </script> <html> <body> <form name="Form" method="get"> <table width="770"> <tr align="center"> <script language="JavaScript"> var param = escape("TEST"); document.write("<td width=\"30\" height=\"30\"><a href=\"javascript:execJumpUrl('" + param + "')\"><font class=\"jfont10\" size=\"2\" color=\"#FFFFFF\">" + param + "</font></a></td>"); </script> </tr> </table> </form> </body> </html>

  • IE8で動くログイン画面が、FireFoxでは動かない

    IE8で動くログイン画面が、FireFoxでは動かない htmlとJavaScriptを別ファイルに記述し、ログイン画面を作成しております。 このhtmlは、テキストボックスに入力されたIDとPASSWORDを、 login.phpに渡しているだけです。 onmouseoverやonmouseoutは正常に動いておりますので、 JavaScriptがOFFと言うオチではないと考えています。 おそらくsubmitがfirefoxでは正常に動いていないのだと考えられますが、 どうすれば解決できるのか、ご教授くださいませ。 Web開発を始めて日が浅く、基本的な事を質問してしまっているかもしれませんが 何卒よろしくお願いします。 ソースはこのような感じです。 【login.html】(テキストボックスとログインボタン周辺のみ) <form action="login.php" name="form_login" method="post"> 社員ID:<INPUT type="text" size="24" name="id_txtbox"> PassWord:<INPUT type="password" size="20" name="password_txtbox"> <br> <!--ログインボタン--> <IMG id="btnlogin" onmouseover="Onmouseoverlogin();" onmouseout="Onmouseoutlogin();" onclick="login(id_txtbox.value,password_txtbox.value);" img src="images/login.gif" width="130" height="27" border="0" name="btnlogin"> </form> 【login.js】(login.htmlで使用するJSを記述しています) // ログインボタンマウスオーバー function Onmouseoverlogin(){  document.btnlogin.src='images/login2.gif'; } // ログインボタンマウスアウト function Onmouseoutlogin(){  document.btnlogin.src='images/login.gif'; } // ログインクリック時 function login(id,pass){  //チェック等省略します。  document.form_login.submit(); }

  • javasuriptについて 主にログイン

    パスワードについて さきほどの質問の内容を変えて質問させていただきます 正しいユーザ名とパスワードを入力して(入力した文字がそのまま表示されないようにして両方ともただしければ「ログインに成功しました」どちらかでも間違っていたら「ログインに失敗しました」というjavascritptを作りたいのですがパスワードをソースの中に書いてしまったらブラウザのソースのらんで分かってしまうので分からないようにしたいです 一応いろいろなものを参考にして途中まで作ったのですがこの先がどうしても作れません どなたかソースなどご教授ください お遊び程度なので本格的なものでなくて結構です ユーザ名は1234 パスワードは345にしたいです どなたかご教授ください 実行できるようにお願いします //--></script> </head> <form action="login.jsp" method="post" NAME="f1"> <table border="1" width="30%"> <tr> <td>ユーザーID:</td> <td><input type="text" name="admin" size="25" value=""></td> </tr> <tr> <td>パスワード:</td> <td><input type="password" name="password" value=""></td> </tr> </table> function password_check(){ var pw; pw = document.getElementById('EnterPassWord').value; if(pw != password){ alert("ログインに失敗しました"); }else{ alert("ログインに成功しました"); //location.href=pw + ".html"; } <input type="submit" value="ログイン" onClick="Submit('name','password','f1');"> </form> </body> </html>

  • javascriptを使ったformへの自動ログインがうまくいきません

    こんにちは、以下のような書かれたサイトにjavascriptを使って自動ログインしたいと考えていますが、うまくログインされません。 一番下のinputタグにてログインしているようなのですが IE.Document.Form1.imgLogin.click(); とすると、エラーになるので IE.Document.Form1.elements(5).click(); としましたがエラーにはならないもののうまくいきませんでした。 IE.Document.Form1.elements(5).data = true; IE.Document.Form1.elements(5).value = true; IE.Document.Form1.action = "index.aspx"; IE.Document.Form1.submit(); としてみましたが、こちらもうまくいきませんでした。 どのようにしたら、自動ログインすることが可能なのでしょうか? 教えて頂けると非常に助かります。 よろしくお願いいたします。 ---サイトフォーム <FORM id=Form1 name=Form1 action=index.aspx method=post> <INPUT id=__VIEWSTATE type=hidden value=... name=__VIEWSTATE> <INPUT id=__EVENTVALIDATION type=hidden value=... name=__EVENTVALIDATION> <INPUT id=txtUid maxLength=6 value="" name=txtUid> <INPUT id=txtPwd type=password maxLength=20 value="" name=txtPwd autocomplete="off"> <INPUT language=javascript id=imgLogin onclick="{ if (document.Form1.txtUid.value==&quot;&quot;) { document.Form1.txtUid.focus();alert('ユーザIDを入力してください。');return false;} if (document.Form1.txtPwd.value==&quot;&quot;) {alert('パスワードを入力してください。');document.Form1.txtPwd.focus();return false;} return true;};" type=image src="img\login1.gif" border=0 name=imgLogin></form> ----オートログイン.js var IE = WScript.CreateObject("InternetExplorer.Application"); IE.Visible = true; IE.Navigate("http://hogehoge/hoge/index.aspx"); while(IE.busy) ; while(IE.Document.readyState != "complete") ; IE.Document.forms(0).elements(3).value = "user"; IE.Document.forms(0).elements(4).value = "password"; //IE.Document.forms(0).elements(5).click(); //IE.Document.Form1.imgLogin.click(); IE.Document.Form1.elements(5).data = true; IE.Document.Form1.action = "index.aspx"; IE.Document.Form1.submit();

  • Javascriptで自動計算の合計の式でエラー

    度々すみません。 前回こちらで質問させて頂きましたものです。 http://okwave.jp/qa/q8737139.html 教えて頂いた内容を確認してフォームの合計を表示するところまでは出来たのですが、合計する列をひとつ増設した所、D列の合計は教えて頂いた式で合計が無事表示されたのですが、C列の合計が合計ではなく文字の並びが表示されてしまいました。 色々調べてみたのですが、この現象の原因がよくわかりません。 何かエラーがあるのでしょうか。 お知恵を貸して頂けると嬉しいです。 宜しくお願いします。 <スクリプト> <script type='text/javascript'> function keisan(){ var price1 = (document.form1.a1.value) * (document.form1.b1.value) * (document.form1.c1.value); document.form1.金額1.value = price1 ; var price2 = (document.form1.a2.value) * (document.form1.b2.value) * (document.form1.c2.value); document.form1.金額2.value = price2 ; var price3 = (document.form1.a3.value) * (document.form1.b3.value) * (document.form1.c3.value); document.form1.金額3.value = price3 ; document.form1.total.value = price1 + price2 + price3; var f1 = (document.form1.c1.value); document.form1.c1.value = f1 ; var f2 = (document.form1.c2.value); document.form1.c2.value = f2 ; var f3 = (document.form1.c3.value); document.form1.c3.value = f3 ; document.form1.ctotal.value = f1 + f2 + f3; } </script> <HTMLソース> <body> <form method="post" name="form1"> <table width="473" border='1'> <tr> <td align='center'>&nbsp;</td> <td align='center'>A</td> <td align='center'>B</td> <td align='center'>C</td> <td align='center'>D</td> </tr> <tr> <td>1</td> <td><input type='text' name='a1' onchange='keisan()' style='width:50px' /></td> <td><input type='text' name='b1' onchange='keisan()' style='width:50px' /></td> <td><input type='text' name='c1' onchange='keisan()' style='width:25px' /></td> <td><input type='text' name='金額1' style='width:100px' /></td> </tr> <tr> <td>2</td> <td><input type='text' name='a2' onchange='keisan()' style='width:50px' /></td> <td><input type='text' name='b2' onchange='keisan()' style='width:50px' /></td> <td><input type='text' name='c2' onchange='keisan()' style='width:25px' /></td> <td><input type='text' name='金額2' style='width:100px' /></td> </tr> <tr> <td>3</td> <td><input type='text' name='a3' onchange='keisan()' style='width:50px' /></td> <td><input type='text' name='b3' onchange='keisan()' style='width:50px' /></td> <td><input type='text' name='c3' onchange='keisan()' style='width:25px' /></td> <td><input type='text' name='金額3' style='width:100px' /></td> </tr> <tr> <td colspan="3" align='right'>合計</td> <td><input type='text' name='ctotal' style='width:25px' /></td> <td><input type='text' name='total' style='width:100px' /></td> </tr> </table> </form> </body>

専門家に質問してみよう