0

データベースから取得され、while ループになっている画像名がたくさんあります。このループには、画像名を含む小さなフォームがあります。このフォームは別の目的で使用されています。私が欲しいのは、アイテム名を持つフィールド情報を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 に取得するにはどうすればよいですか?

4

2 に答える 2

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/

于 2012-10-16T20:00:27.587 に答える
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を参照してください。

于 2012-10-16T20:04:24.193 に答える