我正在使用SimpleModal Basic Modal Dialog,当我尝试在更改跳转菜单时实现模态窗口弹出窗口时,会打开对话框,但我很快会重定向到不存在的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 /将状态更改为已批准”网址?显然它不存在。如果我单击后退,它会完美显示上一个窗口和模态窗口。
克里斯
答案 0 :(得分:1)
因为你连接了onchange =“go()”事件处理程序,所以只要下拉值发生变化,就会执行此代码。如果你不想重定向,你需要输入这样的东西:
var redirectValue = document.Category.fieldname.options[document.Category.fieldname.selectedIndex].value;
if (redirectValue.substring(0,4) == "http")
{
window.location = redirectValue;
}
这样重定向只会在值以“http”开头时发生,所以如果他们选择basicConfirmapprove那么你应该是安全的
希望这有帮助。