如何让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>