プロが教えるわが家の防犯対策術!

入力支援機能として親ウィンドウに値を貼り付けるサブウィンドウを開いて値またはリンクをクリックすると
サブウィンドウを閉じて親ウィンドウの所定欄に値を貼り付けることをおこなっております。

IE6ではサブウィンドウが閉じられる時に確認メッセージは出なかったのですが、IE7では一部のウィンドウで
確認メッセージが表示されます。どこをどのように変更すれば確認メッセージが表示されなくなるのかご教授下さい。

IE7でも確認メッセージが表示されないソース(カレンダの日付入力)
***↓↓↓ここから*
<HTML>
<HEAD>
<SCRIPT language="JavaScript" src="./request.js"></SCRIPT>
<SCRIPT language="JavaScript">
<!--
function setCalendar(years,months){
var nowDate;

 ----------------
  文字数制限を越えるので途中省略
 ----------------

document.write("<TD align=right>");
}
document.write("<A href='#' onClick='setDate(" + years + "," + months + "," + tmp + ");return false;'>");
if (years == curYear && months == curMonth && tmp == curDay) {
document.write("<FONT color=green><B>");

 ----------------
  文字数制限を越えるので途中省略
 ----------------

document.write("<" + "/TABLE>");
}
function setDate(year,month,day) {
var obj;

month += 1;
month = "00" + month;
month = month.substring(month.length - 2, month.length);
day = "00" + day;
day = day.substring(day.length - 2, day.length);

// 登録画面に返す
if (parent.opener.RyohiSub_HeadForm) {
parent.opener.RyohiSub_HeadForm.strActDt.value = year + "/" + month + "/" + day;
parent.opener.RyohiSub_HeadForm.strActDt.focus() ;
window.close();
}
window.close();
}
// -->
</SCRIPT>
<STYLE>
TD {font-size:15px;font-family:"MS 明朝";}
A {text-decoration:none;color:#000000;}
A:hover {color:#0000cc;text-decoration:underline;}
BODY {background-color:#ffffcc;}
</STYLE>
</HEAD>
<BODY alink=black vlink=black>
<SCRIPT language=JavaScript>
<!--
// カレンダーの出力
setCalendar();
// -->
</SCRIPT>
</BODY>
</HTML>

***↑↑↑ここまで*

IE7で確認メッセージが表示されるソース(値の入力)リンクをクリックすると表示の値が親画面に張り付きます。
***↓↓↓ここから*

<HTML>
<HEAD>
<SCRIPT language="JavaScript" type="text/javascript">
<!--
function setRemark ( obj, subobj1, subobj2 ) {
obj = document.frmRemark.elements[ obj ];
if ( window.opener ) {
var trgObj = window.opener;
if ( trgObj.frmMain ) {
var trgObj = trgObj.frmMain;
if ( trgObj.Remarks ) {
trgObj.Remarks.value = obj.value;
if ( subobj1 != null && subobj1 != "" && trgObj.DcEn.value == "" ) {
trgObj.DcEn.value = document.frmRemark.elements[ subobj1 ].value;
}
if ( subobj1 != null && subobj1 != "" && trgObj.PayeeSn.value == "" ) {
trgObj.PayeeSn.value = document.frmRemark.elements[ subobj2 ].value;
}
window.opener.focus();
window.close();
}
}
} else {
window.alert( "親ウィンドウが見つかりません" );
}
}
// End Script -->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#C0C0C0" TEXT="BLACK" LINK="BLUE" VLINK="BLUE">

<FORM name="frmRemark">
<!--
<TABLE BORDER="1" CELLPADDING="0" CELLSPACING="1">
<TR HEIGHT=30>
<TD WIDTH=600 ALIGN=CENTER VALIGN=MIDDLE style="border:2px inset;">
<B><FONT SIZE=+2 COLOR=blue FACE="MS 明朝">記入例</FONT></B>
</TD>
</TR>
</TABLE>
!-->
<BR>

<!--------------------->
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="700">
<TR><TD BGCOLOR="#004400">
<TD>
<TR><TD>
<TR>
<TD><A href="#" onClick="setRemark('Remarks011'); return false;"><FONT color=red SIZE=3>記入例1</FONT></A></TD>
<TD NOWRAP><TEXTAREA NAME="Remarks011" ROWS=2 COLS=70>記入例1</TEXTAREA></TD>
</TR>
</TD></TR>
</TD>
</TD></TR>
</TABLE>

</FORM>

</BODY>
</HTML>


***↑↑↑ここまで*

A 回答 (2件)

動作は未確認ですが、こんな感じでイケるはずです。



m_ps.println("<A HREF=\"" + CConfig.getVDirRootStaticHTML(m_fOffline) + "/hp_remarks.htm\" onclick=\"window.open( this.href, 'HP', 'resizable=yes,scrollbars=yes,width=600,height=600' ).focus();return false;\">");
    • good
    • 0
この回答へのお礼

教えていただいた記述で動作を確認できました。大変助かりました。ありがとうございました。

ちなみに下記記述ではどうなりますでしょうか。ご教授下さい。

m_ps.println("<A HREF='javaScript:document.frmSub.submit()'>");
m_ps.println(" 稟議No</A>");
上記記述の前に以下の記述があります。
m_ps.println("<FORM NAME=\"frmSub\" METHOD=POST ACTION=\"internal.servlet.keihi.CRingiListSrvt\" TARGET='RingiList'>");

お礼日時:2009/01/27 14:13

親ウィンドウから、サブウィンドウを開くときに、リンクをクリックして開いた場合、サブウィンドウは閉じるときに警告を表示します。



親ウィンドウから、window.open でサブウィンドウを開くようにした場合は、警告なしでサブウィンドウは閉じることができます。

つまり、親ウィンドウのほうの書き方を直すことで対応できます。

この回答への補足

m_ps.println("<A HREF=\"" + CConfig.getVDirRootStaticHTML(m_fOffline) + "/hp_remarks.htm\" TARGET=HP>");

以上のような記述であればどのようにすればよろしいでしょうか。
ご教授下さい。よろしくお願いいたします。

補足日時:2009/01/23 13:01
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!