php
  • javascript
  • mysql
  • 2012-10-16 71 views 0 likes 
    0

    我有一堆正在從我的數據庫中檢索的圖像名稱,並處於while循環中。在這個循環中,我有一個帶有圖像名稱的小表單。此表單正在用於其他目的。我想要的是將項目名稱的字段信息轉換爲javascript。如何從使用javascript的循環中的字段獲取信息

    例子:

    while($row = mysql_fetch_array($query)) { 
        $itemname = $row['name']; 
        echo "< input type='hidden' name='$itemname' value='$itemname'> 
        <img src='source' onclick='getname()' width='100%' height='100%' />"; 
    } 
    

    我相信,爲什麼每次我像點擊只給我從數據庫中第一信息的原因是因爲我的ID被複制。我的問題是我怎麼能不使用getElementById字段信息JavaScript?

    +0

    其實你的字段在上面的代碼中沒有id。 – jtheman

    回答

    2

    使用以下改變PHP:

    $i = 0; 
    while($row = mysql_fetch_array($query)) { 
        $itemname = $row['name']; 
        echo "<input type='hidden' name='".$itemname."[]' id='input$i' value='$itemname' />"; 
        echo "<img src='source' onclick=\"getname('input$i')\" width='100%' height='100%' />"; 
        $i++; 
    } 
    

    然後你可以檢索在JavaScript中輸入值:職高的

    function getname(id) { 
        var theinput = $('#'+id).val(); // jQuery example 
        // do something 
    

    (我也改變了輸入的名字是一個數組,你可以命名它你想要的,也許$itemname$i可能是一個想法,它取決於如何以及如果你想處理你的形式,但名稱應該是獨特的或陣列的良好實踐)

    下面是HTML/JS的工作示例:http://jsfiddle.net/fuHSv/1/

    +0

    這不起作用。當我將該名稱添加爲數組時,我收到一個錯誤(解析錯誤:語法錯誤,意外的']',期待第119行的C:\ xampp \ htdocs \ member \ products.php中的T_STRING或T_VARIABLE或T_NUM_STRING)。沒有名稱作爲數組,它什麼都不做。 – Bryan

    +0

    @Bryan正確的你是,你不能做一個這樣的輸入數組。我在上面的示例中更改了它。還添加了一個帶有一個工作JS示例的結果HTML的示例:http://jsfiddle.net/fuHSv/1/ – jtheman

    +0

    我已經做了這個調整,它仍然不工作。當我看着你的例子時,我注意到所有的id都不一樣。示例中的項目不在循環中。我的問題是獲取循環中的信息。 – Bryan

    0

    如何使用一些jQuery的1.8.2類似如下:

    $(document).ready(function() { 
        var inputs = $('input').on('click', function() { 
         var name = $(this).attr('name'); 
         var val = $(this).val(); 
         // do stuff 
        }); 
    }); 
    

    更多見api.jquery.com

    相關問題