如果输入值是文本则禁用,如果输入值是数字则启用


disable if input value is text and enable if it number

我想:如果input的值是text,则禁用。如果相同输入的值是number,则启用。

代码是

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

这将测试您的值是否为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"' : ''; ?> />

这将测试你的值是一个int还是一个float或一个数字string(像'1'这样的情况被启用):

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

你可以用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">

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

保持你的价值:

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

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

都可以。用你觉得更舒服的。希望能有所帮助