- PR -

起動時にテキストボックスにフォーカス

投稿者投稿内容
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-09-01 11:59
引用:

Masaさんの書き込み (2008-09-01 11:52) より:
じゃんぬねっとさん

HTMLですが
フォームでは
<form id="form1" runat="server">

<form> 要素の中にある対象は
<igtxt:WebTextEdit
ID="WebTextEdit_ID" runat="server" Font-Bold="True" Font-Names="Arial" Font-Size="12pt"
Height="24px" MaxLength="4" SelectionOnFocus="SelectAll" Style="ime-mode: disabled"
TabIndex="1" Width="88px">
</igtxt:WebTextEdit>
なお、上記コードはツールを張り付けた時に自動的に生成されていました。


[ メッセージ編集済み 編集者: Masa 編集日時 2008-09-01 11:52 ]



上記のプログラムを実行して、ブラウザに表示されている時のHTMLソースを確認してください。
JavaScriptで設定する対象はあくまでそのソース中にあるコントロールですので、
そいつが <input type="text" ...> なのか、それとも別の何物なのかが鍵になります。

# じゃんぬねっとさんの意図はそういうことだと思いますです。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-09-01 12:34
引用:

rainさんの書き込み (2008-09-01 11:59) より:

# じゃんぬねっとさんの意図はそういうことだと思いますです。


フォローありがとうございます。 そういうつもりで "HTML" と書きました。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Masa
ベテラン
会議室デビュー日: 2007/03/19
投稿数: 65
投稿日時: 2008-09-01 13:04
rainさん
じゃんぬねっとさん

ちんぷんかんぷんなことをしており申し訳ありません。


確認したところフォーカスを設定したい項目の名前は「igtxtWebTextEdit_ID」でした。

上記の名前で修正したところうまく動作いたしました。

お忙しいところありがとうございました。

ちなみにHTMLソースは以下のとおりです。(すべてのソースを張り付けます)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head><title>
勤休入力システム ログイン
</title>
<script type="text/javascript">
<!--
function onload()
{
alert("パスワードが間違っています");

//WebTextEdit_IDにフォーカスを合わせる
//var WebTextEdit_ID = igedit_getById("WebTextEdit_ID");
//WebTextEdit_ID.focus();

/*
w = 630;
h = 490;
//ウィンドウを画面の中央に表示する
x = (window.screen.availWidth - w) / 2;
y = (window.screen.availHeight - h) / 2;
window.moveTo(x,y);
window.resizeTo(w,h); //ウィンドウのサイズを固定する
*/

//画面サイズを最大に
//window.moveTo(0,0);
////window.resizeTo(screen.width,screen.height);
//window.resizeTo(window.screen.availWidth,window.screen.availHeight);
}

//ログイン成功
function welcom()
{
window.opener = "myself";
window.close();
window.open("Top_Page.aspx", "frameset","location=no,menubar=no,status=yes,toolbar=no,resizable=yes,scrollbars=yes");
// window.open('Top_Page.aspx', 'frameset','','');
}

//パスワード入力エラー
function pass_error()
{
alert("パスワードが間違っています");
window.opener = "myself";
window.close();
window.open('login.aspx', '_blank','','');
}

//ID入力エラー
function ID_error()
{
alert("登録されていない社員コードです");
window.opener = "myself";
window.close();
window.open('login.aspx', '_blank','','');
}
-->
</script>

</head>
<body onload="javascript:document.form1.WebTextEdit_ID.focus();">
<!--<body onload="javascript:alert(document.form1.WebTextEdit_ID);">
<body onload="onload()" > -->
<form name="form1" method="post" action="Login.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="form1">
<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE2NTEzMzUzOTJkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYDBQ5XZWJUZXh0RWRpdF9JRAUQV2ViVGV4dEVkaXRfUGFzcwUObG9naW5fV0lCdXR0b25IminnK+AhTTL2WBtNcDklVXYp9g==" />
</div>

<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['form1'];
if (!theForm) {
theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>


<script type=text/javascript> window.moveTo(0,0); window.resizeTo(window.screen.availWidth, window.screen.availHeight);</script>
<script src="/Kintai_Kanri/WebResource.axd?d=RBjXtpRq9s7R4BTFWtWyu0Jhpj6WYzD7jh_TGjdt68o1&t=633245880595312500" type="text/javascript"></script>
<style type="text/css">
.WebTextEdit_ID0{}
.WebTextEdit_Pass0{}
</style>

<script src="/Kintai_Kanri/scripts/ig_shared.js" type="text/javascript"></script>
<script src="/Kintai_Kanri/scripts/ig_edit.js" type="text/javascript"></script>
<script src="/Kintai_Kanri/scripts/ig_button.js" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
function WebForm_OnSubmit() {
if (typeof(ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) return false;
return true;
}
//]]>
</script>

<div>
&nbsp;
<table id="Table1" border="0" cellpadding="1" cellspacing="1" style="margin-top: 50px;
z-index: 101; left: 0px; width: 100%; border-top-style: none; border-right-style: none;
border-left-style: none; position: absolute; top: 0px; height: 100%; border-bottom-style: none"
width="300">
<tr>
<td align="center"style="width: 100%; height: 100%" valign="top">
<font face="MS UI Gothic">
<table id="Table2" border="0" cellpadding="1" cellspacing="1" height="300" style="z-index: 100;
border-left-color: #ffffff; left: 264px; border-bottom-color: #ffffff; border-top-style: none;
border-top-color: #ffffff; border-right-style: none; border-left-style: none;
position: absolute; top: 56px; border-right-color: #ffffff; border-bottom-style: none"
width="580">
<tr>
<td align="left" colspan="7" style="width: 545px; height: 57px" valign="top">
<p>
<font face="MS UI Gothic">&nbsp; &nbsp;</font>
<img src="mitosoft_logo.jpg" alt="" style="z-index: 100; left: 8px; position: absolute;
top: 0px" />
<span id="Label_SysName" style="display:inline-block;font-family:MS ゴシック;font-size:12pt;font-weight:bold;height:22px;width:80px;z-index: 100; left: 72px; position: absolute;
top: 8px">ログイン</span>
</p>
</td>
</tr>
<tr>
<td align="left" style="width: 233px; height: 44px" valign="top">
</td>
<td align="left" colspan="5" style="width: 545px; height: 44px" valign="top">
<span id="Label2" style="display:inline-block;font-family:MS ゴシック;font-size:12pt;height:42px;width:514px;">社員コードとパスワードを入力し、ログインボタンを押して下さい。</span></td>
</tr>
<tr>
<td align="left" style="width: 233px; height: 21px" valign="top">
</td>
<td align="left" style="width: 94px; height: 21px" valign="top">
</td>
<td align="left" colspan="4" style="width: 546px; height: 21px" valign="top">
<font face="MS UI Gothic">
<span id="Label3" style="display:inline-block;font-family:MS ゴシック;font-size:11pt;height:16px;width:88px;">社員コード</span><span id="RequiredFieldValidator1" style="display:inline-block;color:Red;font-family:MS ゴシック;font-size:11pt;height:15px;visibility:hidden;">*</span>

<input type="hidden" name="WebTextEdit_ID" id="WebTextEdit_ID" value="" />

<input type="hidden" name="WebTextEdit_ID_p" id="WebTextEdit_ID_p" />
<input type="text" style="ime-mode:disabled;width:88px;height:24px;font-family:Arial;font-size:12pt;font-weight:bold;" id="igtxtWebTextEdit_ID" maxlength="4" tabindex="1" />

<span id="RegularExpressionValidator1" style="display:inline-block;color:Red;font-family:MS ゴシック;font-size:9pt;height:12px;display:none;"></span></font></td>
</tr>
<tr>
<td align="left" style="width: 233px; height: 27px" valign="top">
</td>
<td align="left" style="width: 94px; height: 27px" valign="top">
</td>
<td align="left" style="width: 197px; height: 27px" valign="top">
</td>
<td align="left" style="height: 27px" valign="top">
<font face="MS UI Gothic">
</font></td>
</tr>
<tr>
<td align="left" style="width: 233px; height: 21px" valign="top">
</td>
<td align="left" style="width: 94px; height: 21px" valign="top">
</td>
<td align="left" colspan="4" style="width: 546px; height: 21px" valign="top">
<font face="MS UI Gothic"></font>
<span id="Label4" DESIGNTIMEDRAGDROP="81" style="display:inline-block;font-family:MS ゴシック;font-size:11pt;height:14px;width:88px;">パスワード</span><span id="Requiredfieldvalidator2" style="color:Red;font-family:MS ゴシック;font-size:11pt;visibility:hidden;">*</span>

<input type="hidden" name="WebTextEdit_Pass" id="WebTextEdit_Pass" value="" />

<input type="hidden" name="WebTextEdit_Pass_p" id="WebTextEdit_Pass_p" />
<input type="password" style="width:168px;height:24px;font-family:MS ゴシック;font-size:10pt;" id="igtxtWebTextEdit_Pass" maxlength="8" tabindex="2" />

<span id="RegularExpressionValidator2" style="color:Red;font-family:MS ゴシック;font-size:9pt;display:none;"></span></td>
</tr>
<tr>
<td align="left" style="width: 233px; height: 47px" valign="top">
</td>
<td align="left" style="width: 94px; height: 47px" valign="top">
</td>
<td align="left" style="width: 197px; height: 47px" valign="top">
</td>
<td align="left" colspan="1" rowspan="1" style="width: 546px; height: 47px" valign="top">
<font face="MS UI Gothic"></font>
</td>
</tr>
<tr>
<td align="center" style="width: 233px; height: 45px" valign="top">
</td>
<td align="center"style="width: 94px; height: 45px" valign="top">
</td>
<td align="left" style="width: 197px; height: 45px" valign="top">
</td>
<td align="left" colspan="5" style="width: 617px; height: 45px" valign="top">
<font face="MS UI Gothic"></font>

<table cellspacing="0" cellpadding="0" id="login_WIButton__1" style="font-size:2px;line-height:0;table-layout:fixed;display:inline;width:136px;height:23px;">
<tr><td nowrap="true" id="login_WIButton__5" style="padding:0px 1px 1px 14px;background:url(/Kintai_Kanri/images/ig_butMac1.gif) no-repeat top left;line-height:normal;" align="Center" valign="Middle" height="100%">
<input id="login_WIButton" type="submit" size="0" style="font-size:2px;padding:0px;width:0px;height:0px;border:0px;" name="login_WIButton" value="ログイン" tabindex="3" />
<span unselectable="on" id="login_WIButton__3" style="border:0px;background:none;font-family:MS ゴシック;font-size:9pt;">ログイン</span>
</td>
<td id="login_WIButton__6" style="background:url(/Kintai_Kanri/images/ig_butMac1.gif) no-repeat top right;width:13px;">&nbsp;</td></tr>
</table>
</td>
</tr>
<tr>
<td align="left" style="width: 233px" valign="top">
</td>
<td align="left" style="width: 94px" valign="top">
</td>
<td align="left" colspan="2" style="width: 546px" valign="top">
<p align="left">
<div id="ValidationSummary1" style="color:Red;font-family:MS ゴシック;font-size:11pt;height:44px;width:371px;display:none;">

</div>
</p>
</td>
</tr>
</table>

<span id="Label7" style="display:inline-block;color:Red;font-size:X-Large;width:632px;z-index: 101;
left: 216px; position: absolute; top: 416px">本稼働まで毎週火・金の午後はシステムメンテナンスを実施します。</span>
<span id="Label8" style="display:inline-block;color:Red;font-size:X-Large;width:632px;z-index: 103;
left: 216px; position: absolute; top: 448px">その間はログインできませんのでご了承ください。。</span>
</font>
</td>
</tr>
</table>

</div>

<script type="text/javascript">
//<![CDATA[
var Page_ValidationSummaries = new Array(document.getElementById("ValidationSummary1"));
var Page_Validators = new Array(document.getElementById("RequiredFieldValidator1"), document.getElementById("RegularExpressionValidator1"), document.getElementById("Requiredfieldvalidator2"), document.getElementById("RegularExpressionValidator2"));
//]]>
</script>

<script type="text/javascript">
//<![CDATA[
var RequiredFieldValidator1 = document.all ? document.all["RequiredFieldValidator1"] : document.getElementById("RequiredFieldValidator1");
RequiredFieldValidator1.controltovalidate = "WebTextEdit_ID";
RequiredFieldValidator1.errormessage = "社員コードを入力して下さい";
RequiredFieldValidator1.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
RequiredFieldValidator1.initialvalue = "";
var RegularExpressionValidator1 = document.all ? document.all["RegularExpressionValidator1"] : document.getElementById("RegularExpressionValidator1");
RegularExpressionValidator1.controltovalidate = "WebTextEdit_ID";
RegularExpressionValidator1.errormessage = "社員コードを正しく入力して下さい。";
RegularExpressionValidator1.display = "None";
RegularExpressionValidator1.evaluationfunction = "RegularExpressionValidatorEvaluateIsValid";
RegularExpressionValidator1.validationexpression = "\\\\d{4}";
var Requiredfieldvalidator2 = document.all ? document.all["Requiredfieldvalidator2"] : document.getElementById("Requiredfieldvalidator2");
Requiredfieldvalidator2.controltovalidate = "WebTextEdit_Pass";
Requiredfieldvalidator2.errormessage = "パスワードを入力して下さい";
Requiredfieldvalidator2.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
Requiredfieldvalidator2.initialvalue = "";
var RegularExpressionValidator2 = document.all ? document.all["RegularExpressionValidator2"] : document.getElementById("RegularExpressionValidator2");
RegularExpressionValidator2.controltovalidate = "WebTextEdit_Pass";
RegularExpressionValidator2.focusOnError = "t";
RegularExpressionValidator2.errormessage = "パスワードを正しく入力して下さい。";
RegularExpressionValidator2.display = "None";
RegularExpressionValidator2.evaluationfunction = "RegularExpressionValidatorEvaluateIsValid";
RegularExpressionValidator2.validationexpression = "\\\\w{8}";
var ValidationSummary1 = document.all ? document.all["ValidationSummary1"] : document.getElementById("ValidationSummary1");
ValidationSummary1.displaymode = "List";
//]]>
</script>


<script type="text/javascript">
<!--
var Page_ValidationActive = false;
if (typeof(ValidatorOnLoad) == "function") {
ValidatorOnLoad();
}

function ValidatorOnSubmit() {
if (Page_ValidationActive) {
return ValidatorCommonOnSubmit();
}
else {
return true;
}
}
// -->
</script>
<script type='text/javascript'><!--
try{igedit_init("WebTextEdit_ID",0,"WebTextEdit_ID,,1,,,,4,1,1,,,0,3,,-1,",[""]);}catch(e){window.status="Can't init editor";}
//--></script><script type='text/javascript'><!--
try{igedit_init("WebTextEdit_Pass",0,"WebTextEdit_Pass,,1,,,,8,1,1,,,2,1,,-1,",[""]);}catch(e){window.status="Can't init editor";}
//--></script><script type='text/javascript'><!--
try{igbut_init("login_WIButton",["1,1,1,2,,,,,1,1,1","pd;0px 1px 1px 14px;bgi;/Kintai_Kanri/images/ig_butMac1.gif","bgi;/Kintai_Kanri/images/ig_butMac2.gif","","pd;1px 0px 0px 15px;bgi;/Kintai_Kanri/images/ig_butMac4.gif",""],["c","login_WIButton_Click"]);}catch(e){status="Can not init button";}
//--></script></form>
</body>
</html>

rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-09-01 13:54
引用:

Masaさんの書き込み (2008-09-01 13:04) より:

確認したところフォーカスを設定したい項目の名前は「igtxtWebTextEdit_ID」でした。
上記の名前で修正したところうまく動作いたしました。




今はそれでも動きますが、今後を考えるとAccessさんが示した例2の方法を使ったほうがいいですよ。
サーバ側からコントロールの ClientID プロパティを取得して、その名称をJavaScriptに埋め込んであげれば、将来画面構成が変わっても対応できますし。

もしくはこんな方法とか。

例3:
コード:
<body onload="javascript:document.<% = Page.Form.ClientID %>.<% = Textbox1.ClientID %>.focus();">

Masa
ベテラン
会議室デビュー日: 2007/03/19
投稿数: 65
投稿日時: 2008-09-01 15:21
引用:

rainさんの書き込み (2008-09-01 13:54) より:

今はそれでも動きますが、今後を考えるとAccessさんが示した例2の方法を使ったほうがいいですよ。




rainさん

ご親切にありがとうございます。
勉強になりました。
ねり
会議室デビュー日: 2008/09/01
投稿数: 1
投稿日時: 2008-09-01 23:37
インフラジスティックスのNetAdvantageならクライアントサイドイベントが使用できると思うのですが、Initializeイベントでフォーカスを取得するJavaScriptを記述するのはどうでしょう?
Masa
ベテラン
会議室デビュー日: 2007/03/19
投稿数: 65
投稿日時: 2008-09-02 10:32
引用:

ねりさんの書き込み (2008-09-01 23:37) より:
インフラジスティックスのNetAdvantageならクライアントサイドイベントが使用できると思うのですが、Initializeイベントでフォーカスを取得するJavaScriptを記述するのはどうでしょう?



ねりさん

情報ありがとうございます。

そうですね。クライアントサイドイベント作れますね。

検討してみたいと思います。

スキルアップ/キャリアアップ(JOB@IT)