2016-04-27 2 views
1

У меня есть одна функции и мое эхо:PHP проблема эхо

echo '<tr> 
<td align="center" style="padding:5px;"><img src="/chat/emotes/smile.png" onclick="insertSmiley("hallo")"> <br>:illuminati:</td> 
       </tr>' 

Проблема заключается в том, что onclick="insertSmiley("hallo")" должен быть с ' и не с ". Если я помещаю это в html, все работает, но ничего не происходит в php-эхе, когда я нажимаю.

Мой index.php есть этот скрипт в теле:

<script type="text/javascript"> 
    function insertSmiley(smiley) 
    { 

     var currentText = document.getElementById("send"); 

     var smileyWithPadding = " " + smiley + " "; 
     currentText.value += smileyWithPadding; 
    currentText.focus(); 

    } 
</script> 

и другой код в моем chat.php:

echo '<textarea id="send" maxlength="125" rows="2" placeholder="Enter your message"></textarea> 
<tr> 
    <td align="center" style="padding:5px;"><img src="/chat/emotes/smile.png" onclick="insertSmiley("hallo")"> <br>:illuminati:</td> 
        </tr> 

Я действительно думаю, что проблема в том, что я не могу использовать '' в эхо, и мне это нужно для onClick...('hallo').

+0

Вы упускаете ',' в конце вашей первой 's echo' tatement и второе выражение 'echo' отсутствует' ';' в конце, также! –

+0

У вас есть ошибка в двойной цитате javascript внутри double quote use 'onclick =" insertSmiley (\ 'hallo \') "' – jcubic

+1

Вы генерируете bad html: 'onclick =" insertSmiley ("hallo") ">'. Первая цитата '' 'для' hallo' завершает ваш атрибут onclick, что означает, что код JS внутри onclick является синтаксической ошибкой. –

ответ

3

использование \' просто распечатать '

обратные слеши используются в PHP, чтобы избежать специальных символов в кавычках. В PHP не различает строк и символов

Если написать, как этот

echo 'check it \' out'; 

это даст выход, как этот

check it ' out 

Так использовать как этот

echo '<tr> 
<td align="center" style="padding:5px;"><img src="/chat/emotes/smile.png" onclick="insertSmiley(\'hallo\')"> <br>:illuminati:</td> 
       </tr>' 
+0

Работал спасибо !!! –

+0

Нужно подождать 8 минут, чтобы принять ответ, я подожду и приму его Спасибо! –

+0

С удовольствием :) –

0

Try это:

<?php 

    echo "<textarea id="send" maxlength="125" rows="2" placeholder="Enter your message"></textarea>"; 
    echo "<tr>"; 
    echo "<td align="center" style="padding:5px;"><img src="/chat/emotes/smile.png" onclick="insertSmiley("hallo")"> <br>:illuminati:</td>"; 
    echo "</tr>"; 

?> 
+0

Просто посмотрите на подсветку синтаксиса .. – chris85

1

Тот факт, что вы не вторя любую переменную в echo заявлении, просто добавьте PHP-теги за пределами вашего кода:

//Your PHP code here 
?> 
     <tr> 
      <td align="center" style="padding:5px;"> 
       <img src="/chat/emotes/smile.png" onclick='insertSmiley(" hallo")'> 
       <br>:illuminati: 
      </td> 
     </tr> 
    <?php 

// Continue your php code 

В случае, если у вас есть эхо переменной в вашем HTML, сделать это это путь:

$greetings = "Hallo"; 

    //Your PHP code here 
    ?> 
      <tr> 
       <td align="center" style="padding:5px;"> 
        <img src="/chat/emotes/smile.png" onclick="insertSmiley('<?php echo $greetings; ?>')"> 
        <br>:illuminati: 
       </td> 
      </tr> 
     <?php 
0

Вы можете использовать:

onclick="insertSmiley(\'hallo\')"