2014-01-05 99 views
-1

我正在一個包含用戶面板的網站上工作。我想要做一個你可以按的按鈕列表。當你按下一個按鈕時,它會在旁邊的另一個框上顯示html。問題是當我按下鏈接到js函數的按鈕時,它什麼都不做。我是否必須做一個循環,每次檢查變量是否在請求的編號?不管怎麼說,這裏是代碼(有PHP的,但它不會造成任何問題):當按鈕被點擊時,Javascript函數沒有任何作用

<!DOCTYPE html> 
<html> 
<head> 
    <title>Minecraft Server Panel v1.0</title> 
    <link rel="stylesheet" href="styles/styles.css" type="text/css"> 
    <link rel="stylesheet" href="styles/inputs.css" type="text/css"> 
</head> 
<body style="background: url('background.png'); background-repeat: no-repeat;"> 
    <div class="page"> 
     <div class="panel"> 
     <div class="info" style="text-align: center;">Welcome back, <?php session_start(); echo $_SESSION['username']; ?>! <a href="php/logout.php" class="link">Logout</a></div><br /> 
     <?php 
      $on = false; 
      if($_SESSION['loggedin'] == 1){ 
      ?> 
      <div class="separator"></div><br /> 
      <div class="gray-zone" style="float: left;"> 
      <a href="javascript: select(1);">Edit Config</a> 
      </div> 
      <div class="gray-zone overflow" style="float: right; margin-right: 100px; text-align: left;"> 
       <script type="text/javascript"> 
        function select(var number){ 
        if(number == 1){ document.write('<p class="text" style="font-size: 15px;">Op permission level: </p><select class="selector" style="float: right; margin-right: 10px; margin-top: -17px;"><option value="" selected="selected">Select a level...</option> <option value="1">1</option><option value="2">2</option></select>');  } 
        } 
       </script> 
      </div> 
      <?php 
      } else { 
      header('Location: other/msgbox_disconnected.html'); 
      } 
     ?> 
     </div> 
    </div> 
</body> 
</html> 
+0

我會建議你,如果你是用JavaScript玩看看jQuery的,使生活變得更加簡單;)的http:// jQuery的.com/ –

+0

什麼按鈕?順便說一下,當header已經被髮送時,php中的'header'是否真的有效? – some

+1

您在「click」處理程序中使用了'document.write()',因此即使處理程序正在運行,它仍然無法工作。一旦頁面被加載,後續對'document.write()'的調用將會消除一切。 – Pointy

回答

1

刪除VAR:

function select(number){ 
    if(number == 1){ document.write('<p class="te….select>');  } 
} 
+0

它的工作原理,但它刪除頁面,只是顯示document.write – user3163534

+0

是的,我會建議你把一個div放在頁面的某個地方,並用html替換div的內容。像document.getElementById('id-of-the-div')。innerHTML ='一些HTML'; – Bram

+0

作品。多謝老兄! – user3163534

0

你嘗試:在函數參數

<a onclick="select(1);">Edit Config</a> 
0

在Javascript函數中定義參數時,不需要在變量前添加var。

正確的代碼是:

function select(number){ 
    if(number == 1){ document.write('<p class="text" style="font-size: 15px;">Op permission level: </p><select class="selector" style="float: right; margin-right: 10px; margin-top: -17px;"><option value="" selected="selected">Select a level...</option> <option value="1">1</option><option value="2">2</option></select>');  } 
} 

你也需要檢查,當你在PHP中使用的「頭」功能。如果您未登錄,您將收到一條錯誤消息,通知您頭文件已發送。在執行任何輸出之前,您必須確保您做了任何標題更改。而且不要忘了退出或將運行該腳本過去一個頭重定向:

header('Location: other/msgbox_disconnected.html'); 
exit; 
0

嗨,你不能聲明使用JS功能VAR你可以改變它的功能select(number)我已修改了代碼工作。你也需要有定義的JS函數之前調用它在這種情況下

<!DOCTYPE html> 
<html> 
<head> 
    <title>Minecraft Server Panel v1.0</title> 
    <link rel="stylesheet" href="styles/styles.css" type="text/css"> 
    <link rel="stylesheet" href="styles/inputs.css" type="text/css"> 
    <script type="text/javascript"> 
        function selectTestAlert(number) 
        { 
        if(number ==1) 
        { 
        alert("Test"); 
        } 
        } 

        function select(number){ 
        if(number == 1) 
        { 
         document.write('<p class="text" style="font-size: 15px;">Op permission level: </p><select class="selector" style="float: right; margin-right: 10px; margin-top: -17px;"><option value="" selected="selected">Select a level...</option> <option value="1">1</option><option value="2">2</option></select>');  
        } 
        } 
       </script> 
</head> 
<body style="background: url('background.png'); background-repeat: no-repeat;"> 

    <div class="page"> 
     <div class="panel"> 
     <div class="info" style="text-align: center;">Welcome back, <?php session_start(); echo $_SESSION['username']; ?>! <a href="php/logout.php" class="link">Logout</a></div><br /> 
     <?php 
      $on = false; 
      if($_SESSION['loggedin'] == 1){ 
      ?> 
      <div class="separator"></div><br /> 
      <div class="gray-zone" style="float: left;"> 
      <a href="javascript: select(1);">Edit Config</a> 
      </div> 
      <div class="gray-zone overflow" style="float: right; margin-right: 100px; text-align: left;"> 
       function select(number){ 
        if(number == 1){ document.write('<p class="text" style="font-size: 15px;">Op permission level: </p><select class="selector" style="float: right; margin-right: 10px; margin-top: -17px;"><option value="" selected="selected">Select a level...</option> <option value="1">1</option><option value="2">2</option></select>');  } 
        } 
      </div> 
      <?php 
      } else { 
      header('Location: other/msgbox_disconnected.html'); 
      } 
     ?> 
     </div> 
    </div> 
</body> 
</html> 
相關問題