2012-11-13 38 views
0

我想知道爲什麼我在這裏得到「代碼顯示是未定義的」。這裏是我正在談論的我的頁面的一部分的模擬。我的頭文件中有javascript,PHP回聲中有html。爲什麼不能切換(style.display)

<?php 
error_reporting(E_ALL^E_NOTICE); 
session_start(); 
$userid = $_SESSION['userid']; 
$username = $_SESSION['username']; 

?> 


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org /TR/html4/loose.dtd"> 

<html> 

<head> 

<script type="text/javascript"> 

function display(id) { 
var e = document.getElementById(id); 
alert(e.style.display); 
if (e.style.display == 'block') { 
e.style.display = 'none'; 
} 
else { 
e.style.display = 'block'; 

} 
} 
</script> 
</head> 


<body> 
<?php 
    if ($username && $userid) { 
    echo "<a href=\"javascript: display('menuLinksAdmin');\">MenuLinks</a> 
     <div id='menuLinksAdmin' style='display: none;'> 
<form action='insert.php' method='post'> 
    linktitle:   <input type='text' name='linktitle' /> 
    linkdescription: <input type='text' name='linkdescription' /> 
         <input type='submit' /> 
</form> 
</div>"; 

} 

else 
echo 'somethin up homie'; 

?> 
+0

請爲您的代碼創建jsfiddle.net示例 – zerkms

+0

您的代碼適用於我:http://jsfiddle.net/pu3wQ/ – Madbreaks

+0

其不起作用。點擊鏈接時需要切換 – Philip

回答

1

更新

這個問題似乎與成範圍有關。 jsfiddle默認情況下將腳本代碼封裝在mootols onload事件中,這會擾亂對display函數的調用。

當選擇「無包裝(頭)」,它工作正常。

+0

在我的谷歌瀏覽器中不起作用 – kingkode

+0

它不適合你無論是。當你點擊表格應該顯示的鏈接... – Philip

+1

看看這個:http://jsfiddle.net/xu4S9/2/ –

0

您的代碼工作對我來說這裏測試:http://jsfiddle.net/pu3wQ/1/

<a id='menuLinks' href="javascript:display('menuLinksAdmin');">MenuLinks</a> 
<div id='menuLinksAdmin' style='display:none;'> 
<form action='insert.php' method='post'> 
    linktitle: <input type='text' name='linktitle' /> 
    linkdescription: <input type='text' name='linkdescription' /> 
    <input type='submit' /> 
</form> 
</div> 

<script> 
function display(id) { 
var e = document.getElementById(id); 
if (e.style.display == 'block') { 
    e.style.display = 'none'; 
} 
else { 
    e.style.display = 'block'; 

    } 
} 
</script> 

我覺得你的問題是與作用域。嘗試在HTML文件的頭部提供JS代碼,並將標記放在主體中。

如果你對jQuery感到滿意,這裏的版本可以像你期望的那樣工作。 http://jsfiddle.net/pu3wQ/8/

這裏是一個更短的版本使用jQuery:http://jsfiddle.net/pu3wQ/11/

+0

我的js代碼在標題中! 如果你把

  • 11. 爲什麼內部切換不能正常工作
  • 12. 爲什麼我不能使用robotframework在IE上切換窗口?
  • 13. 爲什麼我的切換代碼不能觸發?
  • 14. 爲什麼切換語句不能用於數組?
  • 15. 爲什麼不在這個jsfiddle中的功能切換工作?
  • 16. 爲什麼我不能在目標c中切換枚舉
  • 17. 爲什麼切換不能與其他DIV一起使用?
  • 18. 爲什麼MediaItem不能轉換爲SecureMediaItem?
  • 19. 爲什麼不能轉換TCHAR *爲char *
  • 20. document.getElementById(...)。style.display爲空
  • 21. jquery切換沒有切換,爲什麼我的背景重複
  • 22. 爲什麼模式切換在過程切換中發生?
  • 23. 爲什麼不能用kwarg切換函數發生器的行爲?
  • 24. 爲什麼不能用SwitchPreference交換CheckBoxPreference?
  • 25. 爲什麼maskedEditExtender不能替換掩碼?
  • 26. 爲什麼JSP不能轉換成HTML?
  • 27. 爲什麼不能正確轉換?
  • 28. 爲什麼stdout不能被替換?
  • 29. 爲什麼str_replace不能替換問號?
  • 30. 爲什麼'LDR'不能替換'B'?