2014-03-27 41 views
1

如果在db查詢中沒有返回記錄,我需要禁用按鈕。 什麼我有是這樣的:如何禁用按鈕jquery或html

$cnt= mysql_num_rows($qry_resultcnt); 
    if ($ttrec >=1) 
    { 
    echo "msgbox"; 
    document.getElementById("btn1").disabled = true;//disable insert button?? 
    } 

但這返回一個錯誤信息

Parse error: syntax error, unexpected '=' 
+1

@DhavalMarthak是喲你確定?在PHP標籤中嘗試並執行JavaScript似乎並不奇怪? –

+1

您正在使用[an **過時的**數據庫API](http://stackoverflow.com/q/12859942/19068)並應使用[現代替換](http://php.net/manual/en/ mysqlinfo.api.choosing.php)。 – Quentin

+0

這看起來像是PHP和javascript的混合體。 PHP不能執行Javascript,反之亦然。如果你將javascript包含在腳本標籤中,並將其作爲字符串回顯,它可能會讓你得到你想要的。但是這應該由模板處理。 – Chris

回答

1

你使用JavaScript,這是不允許的混合PHP。嘗試下面的兩個選項中的任何一個來從php中轉義你的javascript。

$cnt= mysql_num_rows($qry_resultcnt); 
if ($ttrec >=1) { 
    echo "msgbox"; 
    echo '<script>document.getElementById("btn1").disabled = true;</script>'; 
} 

或者....

$cnt= mysql_num_rows($qry_resultcnt); 
if ($ttrec >=1) { 
    echo "msgbox"; 
    ?> 
    <script> 
    document.getElementById("btn1").disabled = true; 
    </script> 
    <?php 
} 

雖然這兩個選項,我會建議你包裹在JS自調用函數,這樣你肯定是射擊它,像這樣......

echo '<script> (function() { document.getElementById("btn1").disabled = true; })(); </script>'; 

OR ....

<script> 
    (function() { 
    document.getElementById("btn1").disabled = true; 
    })(); 
</script> 
+0

我試過這個「echo」';「,但即使條件爲false,它也會禁用按鈕。 – user3415003

+0

沒關係菜鳥的錯誤...忘了用相反的代碼設置其他部分.... – user3415003

1

你需要輸出合適的客戶端代碼。你不能直接在你的PHP中使用客戶端JS。

echo '<script>document.getElementById("btn1").disabled = true;</script>'; 

但是,你很可能會更好只是設置屬性:

echo '<button etc etc disabled>etc etc</button>';