2013-04-18 297 views
1

文本輸入我有以下代碼來加載的輸入字段的基礎上的gap與背景顏色

echo "<td class='gap'>"; 
echo "<input name = gap-".$compi['Competence_ID']." type='text' readonly style='width:20px;' value='"; 
if(isset($compi['gap']) && $compi['gap']!=0){ 
    echo $compi['gap']; 
} 
$color=''; 
if($compi['gap']>=0){ 
    $color='#3CB371';$text="gap bigger than 0"; 
} 
if($compi['gap']<0){ 
    $color='#FFFFFF';$text="gap is not"; 
} 
echo "' style='background-color:".$color.";'>"; 
echo $text."</td>"; 

代碼打印正確的$text但輸入的顏色不改變值的顏色。 。

+1

請發佈呈現的html。快速瀏覽一下,看起來您正在創建兩個樣式屬性,這可能是問題的根源。 – Jrod

+0

您是否檢查過輸出的HTML以查看樣式是否正在更新,但不顯示? – andrewsi

+0

這不是PHP的問題,它是CSS或HTML。 –

回答

1

這是因爲你的<input>標籤有兩個style屬性 - 在一個屬性中添加兩個CSS規則,你應該沒問題。

+0

是;我意識到。謝謝! – auicsc

0

的CSS proberty 「顏色」 是文本顏色, 「背景色」 就是你要搜索的內容:)

http://www.w3schools.com/cssref/pr_background-color.asp

+0

我不幸更新了代碼,然後再發布此答案。背景顏色屬性沒有改變任何東西。 – auicsc

+1

但是,你的代碼將會是'style ='width:20px;' value ='style ='background-color:#FFFFF'',這是不正確的 –

+0

所以,還有另一個應該解決的問題。 Thnx @RoyalBg – pmayer

1

嘗試:

echo '<td class="gap">'; 
echo '<input name = "gap-'.$compi['Competence_ID'].'" type="text" readonly value="'; 
if(isset($compi['gap']) && $compi['gap']!=0){ 
    echo $compi['gap']; 
} 
$color=''; 
if($compi['gap']>=0){ 
    $color='#3CB371';$text="gap bigger than 0"; 
} 
if($compi['gap']<0){ 
    $color='#FFFFFF';$text="gap is not"; 
} 
echo '" style="width:20px;background-color:'.$color.';">'; 
echo $text."</td>"; 

請記住,HTML屬性應該是雙引號這些引號之間不應該是錯。 Theres是name屬性的錯誤報價。並且不能有重複的屬性。