Обновление свойства innerHTML тега в PHP

#javascript #php #html

#javascript #php #HTML

Вопрос:

Я пытаюсь обновить innerHTML свойство тега абзаца в PHP. Я сделал вызов rest API, который получает дату и после ее анализа. Я добавляю результат (HTML-таблицу, созданную путем анализа результатов из API) в <P> тег, уже находящийся на странице. Для этого я использую следующий PHP-код:

 $dom = new DOMDocument();
$child = $dom->createElement('p',$myresult);
$dom->appendChild($child);
$dom->SaveHTML();
  

$myresult это строка, содержащая html-таблицу с информацией. Приведенные выше строки выполняются плавно, но p содержимое тега не изменяется.

Я тоже пробовал это, но никаких изменений в выводе не было:

 <?php echo "<script>document.getElementByID("#id").innerHTML = ". $myresult."</script>"
  

Я делаю что-то не так?

Комментарии:

1. почему бы не использовать непосредственно $myresult в теге html, например <div id="id"><?php echo $myresu< ?></div> ?

2. Вы на самом деле ставите # перед значением id в getElementById?

3. @Matz нет. просто для форматирования вопроса я использовал #.

4. @Jigar Я тоже это сделал, но никаких изменений в содержимом p

5. Не уверен, что находится в $myresult, но вам, вероятно, понадобятся одинарные кавычки вокруг значения $myresult, поскольку вы повторяете сценарий

Ответ №1:

попробуйте это

 <?php echo "<script>document.getElementByID("id").innerHTML = ". $myresult."</script>" ?>
  

вам нужна экранирующая кавычка для getElementById, и вам не нужно #

Ответ №2:

Вы должны экранировать двойные кавычки внутри строки, заключенной в двойные кавычки в PHP. Но вместо этого вы также можете использовать одинарные кавычки следующим образом:

 <?php echo "<script> document.getElementById('id').innerHTML = '$myresult' </script>"; ?>
  

Кроме того, это getElementById не getElementByID так . И удалите # from getElementById() .

Ответ №3:

Попробуйте:

 <?php echo "<script>document.getElementById("id").innerHTML=".$myresult."</script>" ?>
  

до тех пор, пока id является существующим идентификатором элемента html и $myresult является переменной php, содержащей html

или

Вы можете попробовать

 <div id="id"><?php echo $myresult; ?></div>
  

Примечания:
1. Это getElementById() не getElementByID()
2. Обычно #id используется в jquery, а в чистом JS это просто id

Комментарии:

1. спасибо за ваш быстрый ответ. Я пробовал оба, никаких изменений в содержимом тега p. и синтаксис, если getId и #id предназначены только для форматирования вопроса, который я ввел. Я использую IDE, поэтому проблем с синтаксисом нет.

2. вы анализируете свой rest API на php или JS?

3. в PHP и построение переменной $myresult в PHP