我有这段代码:
<input type = "text" value = "$va" name = "n"/>
如果va不是空格,我希望它是readonly。我怎么能做到这一点?
答案 0 :(得分:1)
这应该使得如果$va
包含空格,那么该字段将是只读的。
<?php
$readonly = (!empty($va) && strlen(trim($va)) == 0) ? null : 'readonly';
echo '<input type="text" value="'.$va.'" name = "n" '.$readonly.' />';
但是我不确定你是否也想要包含一个空字符串作为&#34;只包括空格&#34;,在这种情况下你可以改变第一行:
$readonly = (strlen(trim($va)) == 0) ? null : 'readonly';
答案 1 :(得分:1)
使用Java脚本的第一个选项
在javascript中你可以这样做:
1st:为你的元素添加一个id
<input type = "text" value = "$va" name = "n" id='n'/> //i just made it the same as the name
第二:获取id为'n'的元素
<script>
$(document).ready(function(){
var nValue = $("#n").val();
if( nValue != " " ) {
$("#n").prop("readonly",true);
}
});
</script>
使用PHP的第二个选项
在php中,假设您通过php打印元素:
//other codes here
<?php $va = "noAWhiteSpace";
$readOnly = "";
if($va != ""){
$readOnly = "readonly";
}
?>
<input type = "text" value = "<?php echo $va; ?>" name = "n" <?php echo $readOnly; ?> />;
答案 2 :(得分:0)
这是
<input type = "text" value = "$va" name = "n" <?= ($va != '' || $va == null) ? '' : 'readonly'; ?>/>