2016-11-10 91 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

相关问题