2017-04-20 27 views
1
#!/bin/sh 

echo "Content-type: text/html" 
echo "" 
echo '<html>' 
echo '<head>' 
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">' 
echo '</head>' 
echo '<body><center><br><h3 align='center'>STATUS</h3></br></center>' 
list=$(ls -l /tmp | grep "^d" | awk -F" " '{print $9}') 
list1=$(echo $list | wc -w) 
i=1 
while [ $i -le $list1 ] 
do 
    bhai=$(echo $list | cut -d' ' -f$i) 
    echo '<a href="#" onclick="myFunction(); return false;" id="movie" style="font-size: 30px; text-decoration: none; margin-left: 1cm">'$bhai'</a></font><br>' 
    i=$((i+1)) 
done 
echo ' 
    <script type="text/javascript"> 
     function myFunction() { 
      var mtype = document.getElementById("movie").text; 
     alert("Hi"); 
     alert(mtype); 
     } 
    </script>' 
echo '</body></html>' 
exit 0 

此代碼基本上顯示目錄中的文件夾列表,並且由於href屬性,所有目錄都變爲鏈接。如果我點擊該鏈接,它應該打開該目錄並顯示所選目錄的文件夾。
此代碼顯示唯一的第一個目錄,如果我點擊任何鏈接,警報只給我第一個目錄的名稱。

var mtype = document.getElementById("movie").text; 

我是新來的,請幫助我。
在此先感謝

回答

3

原因是因爲document.getElementById返回匹配的第一個元素id

試着改變你的代碼是這樣的:

onclick=myFunction(this) - 您可以使用this在這裏,它會引用被點擊

function myFunction(movieElement) { 
    var mtype = movieElement.text; 
    alert(mtype); 
} 

也請注意<a/>元素,它被認爲是不好的做法,如果您使用id屬性的非唯一值。正如名稱所示,它應該是整個文檔的標識屬性和唯一性。

+1

謝謝@jevgenig,你爲我做了很多,也節省了我的時間。再次感謝。 –