2016-11-10 88 views
0

我想要: 如果輸入值爲文本,則禁用。 如果相同輸入的值是數字,則啓用。如果輸入值爲文本則禁用,如果輸入值爲

代碼

<input type="text" value ="<?php echo $row [0];? disable> 
+0

有我的回答一個錯字,我已經更新,請檢查是否正常工作 – Learner

+0

這可能是更好的JavaScript實現,如要處理這個大多數情況下不執行回發 – MikeT

回答

1

這將測試,如果你的價值是int(情況下,像1.0'1'將被禁用):

<input type="text" value="<?php echo $row[0];?>"<?php echo !is_int($row[0]) ? ' disabled="disabled"' : ''; ?> /> 

這將測試,如果你的價值是float(例如1'1'將被禁用):

<input type="text" value="<?php echo $row[0];?>"<?php echo !is_float($row[0]) ? ' disabled="disabled"' : ''; ?> /> 

這將測試,如果你的價值是intfloat或數字string(如'1'箱子啓用):

<input type="text" value="<?php echo $row[0];?>"<?php echo !is_numeric($row[0]) ? ' disabled="disabled"' : ''; ?> /> 
0
<input type="text" value ="<?php echo $row[0]; ?>" <?php if(is_numeric($row[0])) echo 'disabled="disabled"'; ?>> 
+0

這與OP試圖實現的目標相反。 – roberto06

1

您可以使用JS來做到這一點:

這裏一個文本框包含文本作爲禁用的輸入,另一個包含該數字的文本被啓用。

var x = document.getElementById("txtbox").value; 
 
var y = document.getElementById("txtbox2").value; 
 
if(isNaN(x)){ 
 
document.getElementById("txtbox").disabled = true; 
 
} 
 

 

 
if(isNaN(y)){ 
 
    document.getElementById("txtbox2").disabled = true; 
 
}
<input type="text" value ="txtbox" id="txtbox"> 
 
<input type="text" value="123" id="txtbox2">

0

保持你的價值:

<input type="text" value ="<?php echo $row[0]; ?>" <?php if(!is_numeric($row [0])) echo "disabled"; ?> > 

OR

<input type="text" <?php if(!is_numeric($row[0])){echo 'value="'.$row[0].'" disabled';}else{echo 'value="'.$row[0].'"';} ?>> 

雙方將合作。使用你更自在的東西。 我希望它能幫助

+0

這與OP試圖實現的目標相反。另外,不需要在'if'中放置'value'屬性。 – roberto06

+0

我忘了把'!'..我已經更新了答案。我不認爲有任何問題,如果你把價值放在裏面,這樣你可以更好地處理代碼 – Learner

+0

我刪除了我的downvote,但我仍然覺得沒有必要把'value'放在'if'裏面,因爲它會總是'$ row [0]'。恕我直言,這是更難以閱讀和更難維護。 – roberto06

相關問題