1

これは可能ですか?画像を 1 回クリックするだけで画像名と src の両方を取得できますか?

私はjavascriptとphpが初めてです。

 <script language="javascript" type="text/javascript">
 function SetImageName(strName)
 {
 document.getElementById("ImageName").value = strName;
 }
 </script>

 <div id="Images">

 <img src="images/image1.jpg" name="image1.jpg" onclick="SetImageName(this.name)"/></a>
 <img src="images/image2.jpg" name="image2.jpg" onclick="SetImageName(this.name)"/>

 </div><input type="hidden" value="" id="ImageName" name="ImageName"/>
4

3 に答える 3

10

出来ますか?もちろん。

あなたのHTMLマークアップで:

onclick="SetImageName(this)"

そしてあなたのJSで:

function SetImageName(imgElement) {
    var theName = imgElement.name;
    var theSrc = imgElement.src;
    // etc.

つまり、 を呼び出すときに、 でその名前だけではなく、 でSetImageName()クリックされた要素自体への参照を渡します。次に、関数内で、必要に応じてそのすべてのプロパティにアクセスできます。thisthis.name

于 2013-03-22T11:40:59.160 に答える
2

この関数を使用して、画像の「src」を取得できます。

 document.getElementById("imagename").src

したがって、コードは次のようになります。

<script language="javascript" type="text/javascript">
    function SetImageProperties(control)
    {
        // Populate hidden fields with properties of the control
        document.getElementById("ImageName").value   = control.name;
        document.getElementById("ImageSource").value = control.src;
    }
 </script>

 <div id="Images">

 <img src="images/image1.jpg" name="image1.jpg" onclick="SetImageProperties(this)"/>
 <img src="images/image2.jpg" name="image2.jpg" onclick="SetImageProperties(this)"/>

 </div><input type="hidden" value="" id="ImageName"   name="ImageName"/>
 </div><input type="hidden" value="" id="ImageSource" name="ImageSource"/>

渡すことで

 this

それ以外の

 this.name

DOM オブジェクト全体への参照を渡しています。その後、上記の変更されたコードに示すように、各プロパティを個別に使用できます。

于 2013-03-22T11:48:22.743 に答える
0

ユーザーが画像をクリックすると、関数SetImageNameは次のように呼び出されます。

onclick="SetImageName(this)"

意味:

<img src="images/image1.jpg" name="image1.jpg" onclick="SetImageName(this)"/>

SetImageName関数の実装により、画像の名前とソースを取得しimage.nameますimage.src

于 2013-03-22T11:44:42.030 に答える