0

いくつかの異なるオプションがあるジャンプメニューがあります。1つのオプションではダイアログを開く必要があり、他の2つのオプションではサイト内の他のページにリダイレクトされます。

一度に機能する2つのオプションのうちの1つしか取得できないようです。onChangeスクリプトを保持すると、ダイアログが開きますが、すぐに「ページが見つかりません」にリダイレクトされますが、ページに正しくリダイレ​​クトされます。onChangeスクリプトを削除すると、ダイアログは正常に開きますが、他のオプションではリダイレクトされません。

両方を機能させることはできますか?

これが私のメニューです:

<select name="select_menu" size="1" class="select" onChange="if(this.selectedIndex!=0)
self.location=this.options[this.selectedIndex].value">
   <option selected="selected"><em>Options...</em></option>
   <option value="http://..1">Change Cat</option>
   <option class="bulkConfirmOpen">Approve</option> <!--dialog-->
   <option value="http://..2">Move to Cat</option>
</select>
4

1 に答える 1

1

何が起こっているのかというと、ダイアログを開くはずのオプションをクリックしても、変更スクリプトはオプションの値をURLとしてページにリダイレクトしようとします。この場合、クラス「bulkConfirmOpen」のオプションの値は「Approve」になります。これは有効なURLではありません。

これを回避する方法はいくつかあります。インデックスが2(bulkConfirmOpenオプションのインデックス)の場合は、場所の設定を回避できます。または、場所を変更する前に、bulkConfirmOpenクラスを確認することをお勧めします。

<select name="select_menu" size="1" class="select" onChange="if(this.selectedIndex!=0 && this.options[this.selectedIndex].className != 'bulkConfirmOpen')
self.location=this.options[this.selectedIndex].value">
   <option selected="selected"><em>Options...</em></option>
   <option value="http://..1">Change Cat</option>
   <option class="bulkConfirmOpen">Approve</option> <!--dialog-->
   <option value="http://..2">Move to Cat</option>
</select>
于 2013-01-10T19:14:21.793 に答える