Intereting Posts

Как я могу вставить javascript в php?

Я пытаюсь вставить javascript в div. Все это находится в документе php.

Я пытаюсь получить div, чтобы исчезнуть, когда он загружен дочерним div. Родительский div имел идентификатор «subemail» (это скрыто). Отображается дочерний div с id 'error', который должен исчезать в вышеуказанном div.

Ниже приведен сценарий, который я пытаюсь загрузить, но получаю непредвиденную ошибку T_STRING, ожидая ',' или ';'.

<script type="text/javascript"> $(function(){$('div#subemail').fadeIn('slow');}); </script> 

Документ PHP:

  if (empty($_POST['sub_name'])) { $errors[] = 'Please type in your name'; } else { $sub_name = strip_tags($_POST['sub_name']); } if (filter_input(INPUT_POST, 'sub_email', FILTER_VALIDATE_EMAIL)) { $sub_email = $_POST['sub_email']; } else { $errors[] = 'Please type in a valid email'; } if ($errors) { echo '<div class="errors">'; echo '<script type="text/javascript">'; echo '$(function(){$('div#subemail').fadeIn('slow');});'; echo '</script>'; foreach ($errors as $error) { echo '<p class="error">- ' . $error . '</p>'; } echo '</div>'; } 

Вам нужно избегать ваших котировок с обратной косой чертой:

 echo '$(function(){$(\'div#subemail\').fadeIn(\'slow\');});'; 

Проблема в том, что вы открываете строку с первым ' и закрываете ее на 'div#... . а не закрывать его в конце строки. Большинство языков используют обратную косую черту для обозначения цитаты, которая является частью строки, а не для завершения строки.

Вы также можете переключать контексты, которые, я думаю, резко очищают вещи; просто отделите логику просмотра / контроллера, переместив ниже файл шаблона:

 <? if ($errors) { ?> <div class="errors"> <script type="text/javascript"> $(function() { $('div#subemail').fadeIn('slow'); }); </script> <? foreach ($errors as $error) { ?> <p class="error"><?= $error ?></p> <? } ?> </div> <? } ?> 

альтернативно, вы можете написать

 echo "$(function(){$('div#subemail').fadeIn('slow');});"; 
 echo "$(function(){$('div#subemail').fadeIn('slow');});";