2016-04-26 92 views
0

我試圖建立與以下行爲PHP網頁:PHP代碼修改的文檔元素

1-客戶端訪問的網頁(包含一些按鈕);

2-當加載網頁時,PHP腳本會打開存儲在服務器上的文件,並根據此文件中的信息啓用/禁用某些按鈕,以便客戶端可以看到網頁正確的按鈕啓用或禁用。

要啓用/禁用按鈕,我知道我可以使用JavaScript,同時讀取服務器上的文件我使用PHP如上所述。

我該怎麼把這兩樣東西放在一起?或者我應該使用PHP代碼等同於以下的javascript行:

<script>document.getElementById("button1").disabled = true;</script> 

起初我還以爲是在PHP代碼中插入這條線是解決方案,但後來我發現,這不能正常工作明顯原因。

感謝您的幫助!

如果我在網頁的head部分添加以下javascript函數,是否正確?

<script> 
function enableButtons() { 
<?php 
if($state=="state1") { 
    echo 'document.getElementById("button1").disabled = true;'; 
} 
else if($state=="state2") { 
    echo 'document.getElementById("button2").disabled = true;'; 
} 
?> 
} 
</script> 

我所說的enableButtons()函數使用

<body onload="enableButtons()"> 

上面的PHP代碼只是一個例子加載頁面時,狀態和按鈕的數量要高,這就是爲什麼我想使用此解決方案。

+1

您可以使用ajax從javascript調用PHP腳本。 –

+1

看起來您正在文件所在的服務器上創建頁面,並且您希望禁用這些按鈕。如果是這種情況,當您打印按鈕的HTML時,請包含該屬性以禁用它。根本不需要JavaScript。 – kainaw

+0

您可以使用PHP在發送給客戶端之前修改標記。並請解釋「此文件中的信息」的性質和按鈕標記的示例。 – frz3993

回答

1

通常要做的事情是讓php讀取設置文件,並在將輸出發送到用戶瀏覽器之前回顯按鈕上的「禁用」屬性。您可以在此處獲得有關此屬性的更多信息here你不需要JavaScript。

做這樣的事情:

<button type="button" <?php if($state === 'state1') echo 'disabled'; ?>>Button text</button> 
+0

謝謝!好一個!我編輯了我原來的帖子,如果你可以看看。 – user2028271

+0

您正在使用的JavaScript,而你不應該爲此。如果用戶瀏覽器關閉了JavaScript,會發生什麼情況?無論如何,如果這是你唯一的選擇,它看起來不錯。 我已經更新了我的答案,您的條件爲 – wavvves

+0

我重新安排了我的代碼,以便只使用html,遵循您的建議,並且我發現您的解決方案更好,更清潔。謝謝 – user2028271

0

通常你發送給客戶端的按鈕已禁用,用JS來發送網頁,如選擇一個組合框的值.. 可以省略的代碼,使用if一句之後發生的任何事件做出響應,或者用css隱藏它們。第一種方法是優選的。

0

腳本

<script> 
    function isValid(f){ 
    if(f.test.value==''){ 
     alert('please enter name'); 
     return false; 
    }else{ 
     $(".bbutton").html("Processing please wait"); 
    return true; 
    } 
    } 
</script> 

HTML

<form method="post" onsubmit="return isValid(this);"> 
    <input type="hidden" name="te"> 
    <input type="text" name="test"> 
    <div class="bbutton"> 
     <input type="submit" value="send"> 
    </div> 
</form> 

當您提交表單,然後它會自動隱藏提交按鈕,以避免再次按並且可以將其重定向到其他頁面。可能這個想法很有幫助。