php
  • javascript
  • innerhtml
  • 2013-08-29 12 views -2 likes 
    -2

    我試圖更新圖像的SRC的SRC,但在現場也僅顯示 <img class="imagedisplayor" style="float: none;" alt="" width="200" height="200" src=""/>的innerHTML將不會更新我的形象

    下面的代碼:

    function ajaxFigure(){ 
    var url = 'index.php?option=com_fabrik&format=raw&view=plugin&task=userAjax&method=imgclasse'; 
    var product = Fabrik.blocks.form_8.formElements.orders___product.getValue(); 
    var update = $('orders___image').firstChild; 
    new Request({ 
        url: url, 
        data: { 
         method: 'imgclasse', 
         'product': product 
        }, 
        onComplete: function (r) { 
         update.src = 'http://www.youtraining.eu/preview' + r.replace('images/', 'images/'); 
         document.getElementById('orders___image').innerHTML = '<img class=\'imagedisplayor\' style=\'float:none;\' alt= 
    
    \'\' width=\'200\' height=\'200\' src="' + r + '">' 
        } 
    }).send(); 
    
    
    } 
    

    ,在這裏我imgClasse()

    function imgclasse() { 
    $db = JFactory::getDBO(); 
    $IdClasse = JRequest::getVar("product", ""); 
    
    $query = "SELECT product_image from products WHERE id=$IdClasse LIMIT 1"; 
    $db->setQuery($query); 
    $result = $db->loadResult(); 
    echo $result; 
    
    
    } 
    

    更新的一切.. 我想要做的就是要爲顯示一個下拉列表中的每一個元素是一個條目o圖像數據庫。 Js和PHP是我可以使用的唯一方法,因爲我在CMS內。

    更改var product = Fabrik.blocks.form_8.formElements.orders ___ product.getValue(); 現在它返回正確的價值..但問題仍然

    +0

    確實有價值嗎? –

    +0

    你能展示更多的代碼嗎? – ErickBest

    +0

    'getElementByID(「....」).....'我沒有看到這個ID,嘗試使用Jquery會容易得多。 – jcho360

    回答

    0

    根據您的代碼:

    onComplete: function (r) { 
         update.src = 'http://www.mysite.com/preview' + r.replace('images/', 'images/'); 
         document.getElementById('orders___image').innerHTML = '<img class=\'imagedisplayor\' style=\'float:none;\' alt=\'\' width=\'200\' height=\'200\' src=' + r + '>' 
        } 
    

    我認爲update.src被定義爲一個對象:

    var update= {src:"..."}; 
    

    所以,當你將該值傳遞給此對象的.src鍵:

    update.src = 'http://www.mysite.com/preview' + r.replace('images/', 'images/');,

    則:

    document.getElementById('orders___image').innerHTML = '<img class=\'imagedisplayor\' style=\'float:none;\' alt=\'\' width=\'200\' height=\'200\' src=' + r + '>'

    交易所rupdate.src因爲r值是你想update.src包含包括由.replace('images/', 'images/')

    所以應該做替換什麼be:

    document.getElementById('orders___image').innerHTML = '<img class=\'imagedisplayor\' style=\'float:none;\' alt=\'\' width=\'200\' height=\'200\' src=' + update.src + '>'

    可以確認,看看你的R參數真的有東西在裏面或如果在所有它是由做類似的認可:

    onComplete: function (r) { 
    
        console.log(r) 
    //Before running any other code 
    

    希望幫助!

    +0

    不工作..更新我的代碼與真實的網址 –

    +0

    你可以更新一些HTML?... – ErickBest

    +0

    如果你能告訴...什麼是:r.replace(「images /」,「images /」 )'想做? – ErickBest

    0

    簡答:

    您沒有使用新值更新圖像源。您正在使用提供給該函數的值更新它。您還需要提供雙引號src屬性當您連接它

    document.getElementById('orders___image').innerHTML = '<img class=\'imagedisplayor\' style=\'float:none;\' alt=\'\' width=\'200\' height=\'200\' src="' + r + '">' 
    

    建議:

    如果我是你,並運行到這個問題,我會做的你的console.log新的圖像路徑來驗證生成的路徑與您的實際圖像路徑。不知道r提供給您的功能的價值很難說。

    跳出來的另一個主要原因是你不需要完全替換圖像元素。如果您直接獲取對圖像元素的引用,然後將其src屬性更新爲新位置,則會更清晰。再一次,沒有更多信息就很難給你更具體的東西。

    +0

    仍然無法工作..更新了代碼 –

    相關問題