安布尔;PHP echo上的onfucus
这是我的PHP代码的一部分,其中有一个echo,它将打印一些HTML代码,带有安布尔;PHP echo上的onfucus,php,html,onblur,onfocus,Php,Html,Onblur,Onfocus,这是我的PHP代码的一部分,其中有一个echo,它将打印一些HTML代码,带有onblur和onfocus条件。当此代码位于echo外部而不在echo内部时,此代码可以工作。 我已经尝试在我的代码(Username字段)的第一个input中添加双引号,但仍然不起作用… 有什么想法吗 elseif ($_GET['register'] == "true"){ echo " <div class='index_register'> Register to Pla
onblur
和onfocus
条件。当此代码位于echo外部而不在echo内部时,此代码可以工作。我已经尝试在我的代码(
Username
字段)的第一个input
中添加双引号,但仍然不起作用…有什么想法吗
elseif ($_GET['register'] == "true"){ echo "
<div class='index_register'>
Register to Play or <a href='login.php'>login</a>
<p></p>
<!-- Registration Form -->
<form action='?do=register' method='post' autocomplete='off'>
<input class=\"input_reg\" type=\"text\" name=\"username\" size=\"40\" maxlength=\"12\" value=\"Username\" onblur=\"if (this.value == \"\") {this.value = \"Username\";}\" onfocus=\"if (this.value == \"Username\") {this.value = \"\";}\">
<input class='input_reg' type='text' name='email' size='40' maxlength='50' value='Email Address' onblur='if (this.value == '') {this.value = 'Email Address';}' onfocus='if (this.value == 'Email Address') {this.value = '';}'>
<input class='input_reg' type='password' name='password' size='40' maxlength='12' value='Password' onblur='if (this.value == '') {this.value = 'Password';}' onfocus='if (this.value == 'Password') {this.value = '';}'>
<input class='submit' type='submit' value='Register' name='Register'>
</form>
</div>
"; }
elseif($\u GET['register']==“true”){echo”
注册玩或
"; }
这是您需要的。您需要在onblur/onfocus中正确地使用转义引号
在php代码中尝试以下操作:
当代码在echo之外而不在echo内部时,该代码可以工作
那就别用回音了
elseif ($_GET['register'] == "true"){
?>
<div class='index_register'>
Register to Play or <a href='login.php'>login</a>
<p></p>
<!-- Registration Form -->
<form action='?do=register' method='post' autocomplete='off'>
...
</form>
</div>
<?
}
elseif($\u GET['register']==“true”){
?>
注册玩或
...
在您的情况下,当您输出大的块时,首选以下语法:
<?php
echo <<<HTM
<div class='index_register'>
Register to Play or <a href='login.php'>login</a>
<p></p>
<!-- Registration Form -->
<form action='?do=register' method='post' autocomplete='off'>
<input class='input_reg' type='text' name='username' size='40' maxlength='12' value='Username' onblur='if (this.value == "") {this.value = "Username";}' onfocus='if (this.value == "Username") {this.value = "";}'>
<input class='input_reg' type='text' name='email' size='40' maxlength='50' value='Email Address' onblur='if (this.value == "") {this.value = "Email Address";}' onfocus='if (this.value == "Email Address") {this.value = "";}'>
<input class='input_reg' type='password' name='password' size='40' maxlength='12' value='Password' onblur='if (this.value == "") {this.value = "Password";}' onfocus='if (this.value == "Password") {this.value = "";}'>
<input class='submit' type='submit' value='Register' name='Register'>
</form>
</div>
HTM;
?>
如果你使用的是Heredoc系统,你就不必转义引号。我使用的是嵌入JavaScript的Heredoc,就像我使用纯HTML一样,一切都正常工作。你真的需要研究什么是客户端,什么是服务器端编程我知道!但是有可能让它正常工作吗?如果你希望如果你期望onchange文本已经存在,并且它所引起的问题比它可能引用的要多,那么cho关于change than answer的某些内容是否定的,最主要的是为什么你要使用PHP来回显这么多HTML?毫无理由地将HTML塞进字符串是一种非常糟糕的做法,并且只会让任何开发人员头疼u、 我多年来一直在使用这种^非常糟糕的做法,没有问题?&?就是这样!:)您只需更改上一个引号?!--@RaheelHasan代码,这样肯定会看起来很好。使用选择代码,然后按Ctrl+k,格式和语法突出显示您的代码…您刚刚恢复了我所做的更改!好的。我知道我做错了什么。谢谢谢谢你的帮助!@zppinto,即使这样做有效,在这样的字符串中包含大量HTML仍然是错误的。这真的是PHP的美丽和痛苦,有很多方法可以让某件事情不做一件正确的事情就工作。因为我以前的PHP代码,我不能这样使用它!这就是为什么我请求帮助让它在内部工作的原因e一个echo
标记。无论如何谢谢你你说得对!我可以让它像这样工作,但这不是我的本意。我接受你的回答,认为它很有用;)永远不要在PHP中回显一个heredoc。这绝对没有意义。