2012-11-04 41 views
0

這個想法很簡單,當你訪問同一頁面的網頁時,你應該上傳一個不同的文件,根據點擊<a>元素:曲目或集合。上傳文件以訪問網頁?我的代碼不好?

但我的代碼不起作用,一些想法?

HTML頁面的Web

<li id="sets"><a href="producciones.html" onclick="cargar('tracks.txt', '#p1')">Tracks</a></li> 
<li id="sets"><a href="producciones.html" onclick="cargar('sets.txt', '#p1')">Sets</a></li> 

JQuery的AJAX +腳本JS。

function cargar(arch, id){ 
    $.ajax({ 
     url:arch, 
     success:function(result){ 
      $(id).html(result); 
     } 
    }); 
} 
+0

你什麼錯誤?檢查調試器工具的控制檯(例如Chrome上的F12) – sdespont

+0

這不是文件上傳。在上傳中,客戶端將文件發送到服務器。 –

+0

赦免我的表情,加載客戶端發送的.txt – opmeitle

回答

0

在你的代碼中,當按下連接,功能cargar()被執行,而且,重新加載頁面。 嘗試添加return false;以阻止在瀏覽器窗口中打開頁面。

<li id="sets"><a href="producciones.html" onclick="return cargar('tracks.txt', '#p1');">Tracks</a></li> 
<li id="sets"><a href="producciones.html" onclick="return cargar('sets.txt', '#p1');">Sets</a></li> 

和:

function cargar(arch, id){ 
    $.ajax({url:arch,success:function(result){ 
    $(id).html(result); 
    }}); 
    return false; 
} 
+0

謝謝,但探討你的例子,但不起作用,但我不明白是什麼問題。 – opmeitle

0

可能是href和內聯JS onclick之間的問題。

你可以添加一點點的jQuery避免內嵌腳本,做這樣的事情:

<li id="sets-1" target="p1" url="tracks.txt">Tracks</li> 
<li id="sets-2" target="p1" url="sets.txt">Sets</li> 

$('[id^="sets-"]').each(function(){ 
    $(this).click(function(){ 
     var url = $(this).attr('url'); 
     var target = $(this).attr('target'); 
     $.ajax({ 
      url:url, 
      success:function(result){ 
       $('#' + target).html(result); 
      } 
     }); 
    }); 
}); 
+0

gracias,pero el link producciones.html para acceder donde iria? probando asi沒有funciona。

  • Tracks
  • opmeitle

    +0

    對不起,我不會說西班牙語:o) – sdespont

    +0

    我不明白你想要什麼去producciones.html。如果您使用元素加載新頁面,則AJAX功能無用。 – sdespont