0

まず第一に、私の英語についてお詫び申し上げます;-)

があり<TABLE>、それぞれ<TR><TD>がファイルへのポインターです。選択したファイルを削除する PHP モジュールを呼び出すリンクを追加しました。jQuery UI ダイアログを使用して削除を確認することにしましたが、クリックされた要素をインターセプトしてdocument.location.href、PHP モジュールを呼び出す に HREF 値を渡すのに問題があります。

これは HTML のごく一部です (1 行のみ、HREF 値は ごとに異なります<TR>):

    <tr class="riga">
        <td>
           <?php echo $xName; ?>
        </td>
        <td class="TD20">
           <span class="file-remove">
              <a href=<?php echo "del.php?&op=delfile&i=$xId&f=$xFsname"; ?> >
                 <span class="ui-icon ui-icon-closethick" title="Delete file"></span>
              </a>
           </span>
        </td>
    </tr>
...

<div id="confirm-delete-file" title="Conferma rimozione FILE">
  <p><span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>Confermi la rimozione definitiva del file?</p>
</div>

これはjQuery関数です

$(function() {
    $( "#confirm-delete-file" ).dialog({
      resizable: false,
      height:140,
      modal: true,
      autoOpen:false,
      buttons: {
        "Elimina": function() {
          $( this ).dialog( "close" );
          window.location.href = document.activeElement.href;
        },
        "Annulla": function() {
          $( this ).dialog( "close" );
          return false;
        }
      }
    });
    $(".file-remove a").click(function(e) {
        e.preventDefault();
        $('#confirm-delete-file').dialog('open');
    });
});

Mozilla Firefox を使用すると動作しますが、Chrome または Safari を使用すると動作しません。document.activeElement.href は、クリックされたの href 属性を取得する正しい方法ではないと思います...

何か案は?

ありがとう!

PS jQuery UI 1.10.2 および jQuery 1.8.3

4

1 に答える 1

0

私があなたを正しく理解していれば、問題はhrefクリックされたアンカータグへのアクセスにあります。hrefその場合は、クリックaされたタグを保持できる 1 つのグローバル変数を宣言し、それをElimina関数内で使用します。

  var urlToHit = ""; 
  $( "#confirm-delete-file" ).dialog({
      resizable: false,
      height:140,
      modal: true,
      autoOpen:false,
      buttons: {
        "Elimina": function() {
          $( this ).dialog( "close" );
           alert(urlToHit);
           window.location.href = urlToHit;
        },
        "Annulla": function() {
          $( this ).dialog( "close" );
          return false;
        }
      }
    });
    $(".file-remove a").click(function(e) {
        e.preventDefault();
        urlToHit = $(this).attr("href");
        $('#confirm-delete-file').dialog('open');
    });

ここurlToHitは関数内でアクセスでき、問題なくその場所にリダイレクトできます。

于 2013-04-29T06:58:02.577 に答える