1

我正在使用 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>&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/Change Status to Approved”网址?显然它不存在。如果我单击返回,它将完美地显示带有模态窗口的前一个窗口。

克里斯

4

1 回答 1

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

希望这可以帮助。

于 2012-12-03T17:17:58.053 回答