让javascript从PHP中读取变量的值


Make the javascript read the value of variable from the PHP

如何让java脚本读取$info的值?

        $(document).ready( function() {
            $("#anyvalue").focus( function() {
                if ( $(this).val()=="<?php echo $info['anyvalue'];?> ") {
                    $(this).val('');
                } 
            });
        });

当用户单击文本框时,此代码将清除文本的默认值。

HTML代码

<input id="anyvalue" type="text" value="<?php echo $detail ['firstname'];?>">

我认为你可以在你的头标签上创建一个元标签,比如这个

<meta id ="anyvalue" data-content="<?php echo $info['anyvalue'];?>">

然后使用jquery 访问

<script>
      $(function() {
         var anyvalue = $('#anyvalue').data('content');
      })
</script>

或使用普通javascript

<script>
   var anyvalue = document.getElementById('anyvalue').getAttribute('data-content');
</script>

但这比直接将数据回显到javascript更合适。

回答你的问题

   $(document).ready( function() {
        $("#anyvalueTextField").focus( function() {
            if ( $(this).val() == $('#anyvalue').data('content')) {
                $(this).val('');
            } 
        });
    });

您可以在Javascript中插入PHP代码,但PHP将无法读取Javascript变量。

据我所知,$info['anyvalue']必须为空或未定义。

换句话说,在代码中,服务器与客户端通信,但客户端不与服务器通信。

您必须找到另一种在客户端和服务器之间交换数据的方法(POST、Ajax,或者将PHP嵌套到嵌套到PHP中的Javascript中的一些技巧)。

免责声明:这是一种非常糟糕的做法

如果javascript代码在PHP文件中,则可以使用PHP初始化javascript变量。因此,以下方法可行:

page.php

<?php $info['anyvalue'] = "foo"; ?>
$(document).ready( function() {
     $("#anyvalue").focus( function() {
         if ( $(this).val()=="<?php echo $info['anyvalue'];?> ") {
            $(this).val('');
         } 
    });
});

由于PHP代码在进入浏览器之前将进行预处理,因此<?php echo $info['anyvalue'];?>将变为"foo"

但是,当你不得不在PHP和JS之间切换以追踪bug时,不要这样做——这很混乱,对未来的开发人员或你未来的自己都不太好。

要在javascript中解析php,请使用单引号而不是像这样的双引号

<script>
    $(document).ready( function() {
        $("#anyvalue").focus( function() {
            if ( $(this).val()=='<?php echo $info['anyvalue'];?>') {
                $(this).val('');
            } 
        });
    });
</script>