2013-04-16 2 views
-1

Это часть моего PHP-кода, и внутри него есть эхо, которое напечатает некоторый код HTML, с условиями onblur и onfocus. Этот код работает, когда он находится вне echo, но не внутри него.
Я уже пытался добавить двойные кавычки в первый input в своем коде (Username), но он все еще не работает ...
Любые идеи ?!onblur & onfucus on PHP echo

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> 

"; } 
+1

Вам действительно нужно изучить, что такое клиентская сторона и что такое серверная программирование –

+0

Я знаю это! Но можно ли это правильно работать? – zppinto

+1

Если вы ожидаете, что что-то измените, чем ответ, нет, если вы ожидаете, что текст обмена уже присутствует, и это вызывает проблемы, чем это, вероятно, кавычки, а главное ** ПОЧЕМУ ВЫ ЭВОЛЮЦИИ ТАК МНОГО HTML ИСПОЛЬЗОВАНИЕ PHP? ** –

ответ

4

Этот код работает, когда это вне эхо, но не внутри него.

не использует эхо затем

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> 
<? 
} 
+0

Из-за моего предыдущего PHP-кода я не могу использовать его таким образом! Вот почему я прошу помощи, чтобы заставить его работать внутри тега 'echo'. В любом случае, спасибо – zppinto

+0

. Предыдущий код PHP не может использовать этот код. –

+0

Вы правы! Я могу заставить его работать так, но это не мое намерение. Я принял ваш ответ как полезный;) – zppinto

0

Вот что вам нужно. Вы должны правильноescape quotes внутри ONBLUR/ONFOCUS:

попробовать этот внутренний код PHP:

<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 = \"\";}'>

+0

Вот и все! :) Вы только меняете последнюю цитату ?! -_- – zppinto

+0

см. Обновленный ответ –

+0

его не последние кавычки, у вас были все кавычки неправильные. –

0

В вашем случае heredocnowdoc или синтаксис предпочитаемый, когда вы выводите большие блоки:

<?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; 
?> 
+0

никогда не эхо heredoc в PHP. Это не имеет никакого смысла. –

0

При использовании Heredoc системы вы не Не нужно избегать цитат. Я использовал Heredoc с встроенным JavaScript, как если бы я использовал простой HTML, и все работает так, как должно.