我正在使用 SimpleModal 基本模态对话框,当我尝试在更改跳转菜单时实现模态窗口弹出时,对话框会打开,但我很快就会重定向到一个不存在的 URL。
如何防止这种情况发生?
这是我的跳转菜单的 HTML:
<select name="fieldname" size="1" onChange="go()" class="select" >
<option selected="selected"><em>Questions Bulk Edit Options...</em></option>
<option value="http://74.39.250.15/questions_listing.asp?categoryState=1">Change Category Assignments</option>
<option class="basicConfirmapprove" href="#">Change Status to Approved</option>
<option value="http://74.39.250.15/questions_listing.asp?categoryState=2">Move to Another Folder</option>
</select>
这是我的页面 JavaScript:
<script type="text/javascript">
<!--
function go(){
location=
document.Category.fieldname.
options[document.Category.fieldname.selectedIndex].value
}
//-->
</script>
这是我的模式窗口 HTML:
<div id="basic-modal-confirmapprove">
<%
'Page Preferences
PageName = ""
%>
<!--#include file="header_modal.asp"-->
<div><center>Are you sure you want to approve all the selected items?</center></div>
<br />
<div align="center"><a href="#" class="button simplemodal-close">Cancel</a> <a href="#" class="keybutton simplemodal-close">OK</a></div>
<!--#include file="footer_modal.asp"-->
这是我的模式窗口 JavaScript:
// Load dialog on click
$('#basic-modal .basicConfirmapprove').click(function (event){
$('#basic-modal-confirmapprove').modal();
return false;
});
如何防止跳转到“....com/Change Status to Approved”网址?显然它不存在。如果我点击返回,它会完美地显示上一个窗口和模态窗口。
克里斯
最佳答案
因为您已连接 onchange="go()"事件处理程序,所以一旦下拉值发生更改,此代码就会执行。如果您不想重定向,则需要输入类似以下内容:
var redirectValue = document.Category.fieldname.options[document.Category.fieldname.selectedIndex].value;
if (redirectValue.substring(0,4) == "http")
{
window.location = redirectValue;
}
这样,只有当值以“http”开头时才会发生重定向,因此如果他们选择 basicConfirmapprove 那么您应该是安全的
希望这有帮助。
关于javascript - SimpleModal 基本模态窗口在选择时显示无效页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13688044/