我需要用户在进入下一页之前在决策框中选择任一选项。现在的问题是如果用户点击弹出框上的“X”关闭,他们可以继续下一页而不选择选项。我怎么能从这里验证?任何帮助,将不胜感激。感谢
var winConfirm = null;
function showConfirm() {
var windowWidth = 250;
var windowHeight = 100;
var locX = (screen.width - 150 - windowWidth) / 2;
var locY = (screen.height - 50 - windowHeight) / 2;
var windowFeatures = "width=" + windowWidth + ",height=" + windowHeight + ",screenX=" + locX + ",screenY=" + locY + ",left=" + locX + ",top=" + locY;
if ((winConfirm != null) && !winConfirm.closed) {
winConfirm.close();
}
winConfirm = open("menubar = no", "winConfirm", windowFeatures);
var theHTML = '' + '<BODY BGCOLOR="#DDDDDD">' +
'<CENTER><B><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FF0000">' + 'Please choose ?' + '</B></CENTER><FORM NAME="buttonForm"><BR/>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="0" CELLSPACING="0">
<TR>
<TD width="40" ALIGN="CENTER"> </TD>
<TD>' + '<INPUT TYPE="button" NAME="buttonname" VALUE="YES" STYLE="WIDTH:60;HEIGHT:30;FONT-WEIGHT:BOLD;" ONCLICK="self.close();opener.buttonClicked(0);">' + ' ' + '</TD>
<TD ALIGN="CENTER"><INPUT TYPE="button" NAME="buttonname" VALUE="NO" STYLE="WIDTH:60;HEIGHT:30;FONT-WEIGHT:BOLD;" ONCLICK="self.close();opener.buttonClicked(1);">' + '</TD>
<TD WIDTH="40"> </TD>
</TR></TABLE></FORM></BODY>';
winConfirm.document.writeln(theHTML);
}
function buttonClicked(buttonChoice) {
var CONTACT_ID = "<%=CONTACT_ID%>";
switch (buttonChoice) {
case 0:
winConfirm.close();
break;
case 1:
popupWindow('/eascb/common/search/pop_contact_update_0.jsp');
break;
default:
popupWindow('pop_covernote_add_0.jsp');
}
}
答案 0 :(得分:0)
您无法删除窗口选项,但您可以使用JavaScript在页面中创建自己的弹出框。只需让Javascript生成一个带有两个可点击按钮的DOM。此外,通过这种方式,您也可以完全控制美学。 我现在正在移动电话,但如果没有其他人打败我,我明天早上会给你写一个例子。
编辑 - 添加示例
我没有使用javascript生成它们,而是使用了html和css类,但它仍然应该显示我想要的内容。如果您无法访问html或css,我可以帮助您编写一些实际生成DOM的JavaScript。
<div id="clickMe" onClick="clickMe()">Click Me!</div>
<div id="modal" class="hideModal">
<p>Please select Yes or No</p>
<div id="buttonYes" class="button" onClick="selected(this.id)">YES</div>
<div id="buttonNo" class="button" onClick="selected(this.id)">NO</div>
</div>
<script>
function clickMe() {
document.getElementById('modal').className = "";
}
function selected(clicked_id) {
var selectedOpt = clicked_id;
if (selectedOpt == 'buttonYes') {
alert('Yes Clicked');
}
else {
alert('No Clicked');
}
}
</script>
答案 1 :(得分:0)
您还可以使用confirm
显示本机模式弹出窗口,用户必须选择“确定”或“取消”; How to create a dialog with “yes” and “no” options?。
答案 2 :(得分:0)
查看小提琴demo。我所做的只是添加一个简单的标志来保持状态,如果点击了一个按钮,你可以相应地修改你的问题。
标志名称为somethingChosen
,单击按钮后设置为true,否则将保持为false并继续请求打开窗口。