SimpleModal基本模态窗口在选择时显示无效页面

时间:2012-12-03 16:57:25

标签: javascript jquery html modal-dialog

我正在使用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>&nbsp;&nbsp;<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 /将状态更改为已批准”网址?显然它不存在。如果我单击后退,它会完美显示上一个窗口和模态窗口。

克里斯

1 个答案:

答案 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那么你应该是安全的

希望这有帮助。