Это мой первый вопрос о StackOverflow, и я считаю себя новичком (самоучка). Пожалуйста, потерпите меня.
Следующий скрипт работает на странице, когда не обернут в php теги.
<script>
var json = '{"submitted_values":{"15":{"15.1":"123"}}}';
var obj = JSON.parse(json);
function printValues(obj) {
for (var k in obj) {
if (obj[k] instanceof Object) {
printValues(obj[k]);
} else {
document.write(obj[k]);
};
}
};
document.write(obj["submitted_values"]["15"]["15.1"]);
</script>
Тот же скрипт не работает на странице, когда обернут в php тегов и вывод на экран.
На самом деле происходит сбой веб-сайта.
Вторая строка var json = '{"submitted_values":{"15":{"15.1":"123"}}}';
в следующем блоке кода приводит к syntax error, unexpected ':'
.
<?php echo '<script>
var json = '{"submitted_values":{"15":{"15.1":"123"}}}';
var obj = JSON.parse(json);
function printValues(obj) {
for (var k in obj) {
if (obj[k] instanceof Object) {
printValues(obj[k]);
} else {
document.write(obj[k]);
};
}
};
document.write(obj["submitted_values"]["15"]["15.1"]);
</script>'; ?>
Ниже описано, что я хочу получить.
Тест представляет собой одну строку таблицы с тремя столбцами.
Столбец 1 в следующем блоке кода представляет собой сценарий сверху и, конечно, не работает.
Col 2 работает и приводит к строке, где document.write(obj["submitted_values"]["15"]["15.1"]);
в сценарии работает. Я проверил фактическую (сложную, вложенную) строку, и она работает, но только когда вне тегов php.
Col 3 - сценарий сверху, но с '{"submitted_values":{"15":{"15.1":"123"}}}'
заменен на ' . esc_html($incomplete_submission->submission) . '
.
Col 3 - это то, что я в конечном итоге хочу работать в плагине WordPress.
Если это можно сделать, кто-то любезно скопирует с echo '<!-- Col 3 --><td><script>
вниз в следующем блоке кода, измените код, так что он будет работать, и вставить все это в ответ?
Я прошу вставить все это, потому что это может сэкономить вам еще больше и больше.
Спасибо!
<?php
foreach ($incomplete_submissions as $incomplete_submission)
{
echo '<!-- Row --><tr>';
echo '<!-- Col 1 --><td><script>
var json = '{"submitted_values":{"15":{"15.1":"123"}}}';
var obj = JSON.parse(json);
function printValues(obj) {
for (var k in obj) {
if (obj[k] instanceof Object) {
printValues(obj[k]);
} else {
document.write(obj[k]);
};
}
};
document.write(obj["submitted_values"]["15"]["15.1"]);
</script></td>';
echo '<!-- Col 2 --><td>' . esc_html($incomplete_submission->submission) . '</td>';
echo '<!-- Col 3 --><td><script>
var json = ' . esc_html($incomplete_submission->submission) . ';
var obj = JSON.parse(json);
function printValues(obj) {
for (var k in obj) {
if (obj[k] instanceof Object) {
printValues(obj[k]);
} else {
document.write(obj[k]);
};
}
};
document.write(obj["submitted_values"]["15"]["15.1"]);
</script></td>';
echo '</tr>';
}
?>