0

我是 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']:""?>"/>

4

2 回答 2

3

在您的 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()电话,如果你真的需要,把它扔回去)

于 2012-09-08T06:25:54.410 回答
2

在它周围加上引号

var temp = "<?php echo $validate ?>";

所以它会导致

var temp = "add";

并不是

var temp = add; // Error: undefined variable add
于 2012-09-08T06:18:44.633 回答