2014-03-24 114 views
1

我有一個HTML表單和PHP代碼。在我的表單中,我有一個文本框和一個textarea。在兩者中,我都包含了「禁用」選項。我希望兩個文本框都保持禁用狀態,直到用戶決定單擊「編輯」按鈕,在這種情況下,兩個文本框都應該啓用,以便可以進行更改並再次保存輸出。根據我所做的研究,做到這一點的唯一方法是使用JavaScript,所以我在我的PHP中包含了下面的代碼;如何在PHP代碼中嵌入Javascript?

if (isset($_POST['edit'])) 
{ 
    echo "<script type=\"text/javascript\">"; 
    echo "var oldnotes = document.getElementById('oldnotes');"; 
    echo "oldnotes.disabled = false;"; 
    echo "var record = document.getElementById('record');"; 
    echo "record.disabled = false;"; 
    echo "</script>"; 
} 

我也試過;

if (isset($_POST['edit'])) 
{ 
    echo "<script type=\"text/javascript\">"; 
    echo "$('#oldnotes').removeAttr('disabled')"; 
    echo "$('#record').removeAttr('disabled')"; 
    echo "</script>"; 
} 

,但沒有運氣:(

我沒有收到任何錯誤,文本框我點擊編輯按鈕後僅保持禁用。誰能幫助我?先謝謝了。

+0

請張貼生成的html代碼。 – tjati

+0

「編輯」按鈕是否位於method =「post」的表單內? – larsAnders

+0

有沒有觸發這些回聲的東西?因爲我看到您正在積極地將元素更改爲禁用 – PlaceUserNameHere

回答

0

嘗試使用的onclick在您的按鈕

<input type="button" name="edit" id="edit" onclick="document.getElementById('oldnotes').disabled=false; document.getElementById('record').disabled=false; return false;"> 

我希望它能幫助。

+0

感謝您的回覆,該工作正常,但文本框變爲啓用狀態,然後頁面立即刷新,以便文本框再次禁用。有任何想法嗎?如果沒有,那麼它可能只是在某處的代碼錯誤..我肯定找不到它。如果沒有生病,明天就來求救! :) – user3266484

+0

對不起,我忘了說:插入「return false;」作爲onclick中的最後一件事=「...」。 它會強制按鈕不提交表單。 –

+0

非常感謝,完美的工作! – user3266484

1

這是這些類型的問題更好的方法:

if (isset($_POST['edit'])){ 
?> 

<script type="text/javascript"> 
var oldnotes = document.getElementById('oldnotes'); 
oldnotes.disabled = ''; 
var record = document.getElementById('record'); 
record.disabled = ''; 
</script> 

<?php 
} 
0

使用單引號腳本類型

echo "<script type='text/javascript'>\n"; 
//javascript goes here 
echo "</script>"; 
0

第二種方法似乎正確,但您在那裏缺少;。另外,你還沒有放置任何換行符。

這裏是我的建議:

<?php 

if (isset($_POST['edit'])) { 
    ?> 
    <script type="text/javascript"> 
     alert("Check entry"); // Use this for checking if your script is reaching here or not 
     $('#oldnotes, #record').removeAttr('disabled'); 
    </script> 
    <?php 

} 
?> 

你不需要爲了呼應整個事情。您可以簡單地將它從PHP中取出並保存在if塊中。

此外,我一直保持警報,以檢查您的代碼結構是否正確。如果您在點擊編輯按鈕時收到提醒,則意味着您的方向正確。你只需要在JS上鍛鍊。

如果沒有什麼不對您的編輯按鈕和form POST

0

使用此jQuery代碼:

<script> 
$('#oldnotes,#record').attr('disabled','') 
</script> 
0

如果你想使用JS用PHP,你可以在這裏閱讀: how to write javascript code inside php

然而:似乎你想要的JS就它在評價自己的協議在PHP邏輯調用按照實施提供。

從技術上講,你的JS只是說它應該重新啓用控件。而是將JS功能添加到提交控件的OnClick,它應該可以正常工作。這也是測試功能的更快捷方式。

<a href="javascript:void(0);" onclick="document.getElementById('oldnotes').disabled=false;" > 

一旦它被點擊,它將隱藏適當的控件,而不是試圖在未執行的時候寫入新的JS。這是嘗試和測試,應該適合你。

希望它有幫助!

0
<? 
<script language='javascript'> 
(javascript code here) 
</script> 
?>