Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
安布尔;PHP echo上的onfucus_Php_Html_Onblur_Onfocus - Fatal编程技术网

安布尔;PHP echo上的onfucus

安布尔;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

这是我的PHP代码的一部分,其中有一个echo,它将打印一些HTML代码,带有
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。这绝对没有意义。