我是PHP新手,使用CI:D现在我有一个视图user_form_v
和它的控制器user
在我的控制器中,我试图传递一个字符串变量名$validate
,我将在我的视图中用javascript验证它,所以如果$validate == add
,我将启用我的输入文本。这是我的javascript(不工作):
<script type="text/javascript">
function validation(){
var temp = <?php echo $validate?>
if (temp == "add")document.getElementById("id").disable = false;
}
</script>
这是我的输入文本,默认为DISABLED:
<input id="id" type="text" name="ID_user" class="text" disabled="disable"
value="<?php echo (isset($user['ID_user']))?$user['ID_user']:""?>"/>
答案:根据选择的答案,这里不需要Javascript(对不起,我不需要),所以我们只需要添加以下内容:<?php if($validate!='add'){echo "disabled";} ?>
,如果他们选择更新,我的输入文本将被禁用。但是它不能与disabled="disabled"
一起使用(我不知道为什么)因此,这是动态输入文本的最终代码:<input type="text" name="ID_user" class="text"
<?php if($validate!='add'){echo "disabled";} ?>
value="<?php echo (isset($user['ID_user']))?$user['ID_user']:""?>"/>
在您的javascript中:
.disabled
而非.disable
- 用引号括住你的PHP
- 你在给
validation()
打电话吗?否则,此代码将永远不会执行
在您的html中:
disabled="disabled"
而非disabled="disable"
评论后更新:
你确定这里甚至需要javascript吗?我的意思是,你似乎允许客户端做出服务器愿意做的决定
<input id="id" type="text" name="ID_user" class="text" value="<?= $user['ID_user']?>" <? if($validate!=='add'){echo "disabled";} ?>/>
并将javascript全部废弃。(我放弃了你的isset()
呼叫,如果你真的需要,就把它扔回去)
在周围加引号
var temp = "<?php echo $validate ?>";
因此它将导致
var temp = "add";
而不是
var temp = add; // Error: undefined variable add