1

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/ Change Status to Approved」URLにジャンプしないようにするにはどうすればよいですか?明らかにそれは存在しません。戻るをクリックすると、前のウィンドウとモーダルウィンドウが完全に表示されます。

クリス

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 に答える