Я столкнулся с проблемой при работе с jQuery и PHP.
Я печатаю <script> внутри функции PHP и повторяю его для конкретных задач.
Однако, когда я читаю значения из внешнего ввода HTML, я использую jQuery и просматриваю, чтобы прочитать эти значения и сохранить их внутри переменной, а затем получить эту переменную. Он работает извне PHP только в jQuery, но строка, которую я вызываю, такова:
var findDescription = this.$content.find('input#newDescription');
Переменные PHP объявлены как знак $, который вызывает проблему. Я пытался избежать этого после этого документация
Мой код jQuery внутри PHP выглядит так:
<script>
// Saving PHP variables in JS vairables
var id = '$id';
console.info(id);
$('#modal-$i').click(function(){
console.info(id);
$.confirm({
icon: 'fas fa-users',
title: 'Subject: $name',
content: 'What would you like to do with this subject? <br><b>Description:<b> $description',
buttons: {
Description: {
btnClass: 'btn-info',
text: 'Description',
action: function () {
console.info(id);
$.confirm({
title: 'Edit Description',
content: 'url: editDescription.html',
action: function(){
var findDescription = this.\$$content.find('input#newDescription');
console.info(findDescription);
var newDescription = findDescription.val();
if (newDescription === '') {
$.alert({
content: 'One of the fields from the form was empty',
type: 'red'
});
return false;
} else {
editSubjectDescription(id, newDescription);
}
}
});
}
},
Image: {
btnClass: 'btn-info',
text: 'Edit Image',
action: function() {
var id = $id;
editSubjectImage(id);
}
},
Delete: {
btnClass: 'btn-danger',
text: 'Delete',
action: function () {
var id = '$id';
deleteSubject(id);
}
},
Close: {
btnClass: 'btn-default',
text: 'Close'
}
}
});
});
</script>
Надеюсь, кто-то может помочь, заранее спасибо
не смешивайте php и js - это плохая практика, создавать скрытый элемент ввода с желаемым $id в качестве значения
Прочитав свой вопрос несколько раз и взглянув на предоставленные ответы, вы обнаружите, что проблема, с которой вы столкнулись, совершенно неясна. «Переменные PHP объявлены как знак $, который вызывает проблему». не является допустимой спецификацией проблемы. Пожалуйста уточни.
Если вы пытаетесь избежать одиночного $, почему вы используете \$$?






<?php ob_start(); ?>
<script>
// Saving PHP variables in JS vairables
var id = '<?php echo $id ?>';
console.info(id);
$('#modal-<?php echo $i ?>').click(function(){
console.info(id);
$.confirm({
icon: 'fas fa-users',
title: 'Subject: <?php echo $name ?>',
content: 'What would you like to do with this subject? <br><b>Description:<b> <?php echo $description ?>',
buttons: {
Description: {
btnClass: 'btn-info',
text: 'Description',
action: function () {
console.info(id);
$.confirm({
title: 'Edit Description',
content: 'url: editDescription.html',
action: function(){
var findDescription = this.\$$content.find('input#newDescription');
console.info(findDescription);
var newDescription = findDescription.val();
if (newDescription === '') {
$.alert({
content: 'One of the fields from the form was empty',
type: 'red'
});
return false;
} else {
editSubjectDescription(id, newDescription);
}
}
});
}
},
Image: {
btnClass: 'btn-info',
text: 'Edit Image',
action: function() {
var id = <?php echo $id ?>;
editSubjectImage(id);
}
},
Delete: {
btnClass: 'btn-danger',
text: 'Delete',
action: function () {
var id = '<?php echo $id ?>';
deleteSubject(id);
}
},
Close: {
btnClass: 'btn-default',
text: 'Close'
}
}
});
});
</script>
<?php
$jsCode = ob_get_clean();
echo $jsCode; //USE THIS VARIABLE WHEREVER ITS NEEDED.
?>
$jsCode - это переменная, содержащая ваш JS скрипт ... Поместите ее в свой код в необходимые поля. Однако основная проблема заключалась в том, что вы поместили переменную PHP в свой JS, не указав открывающие теги <?php и закрывающие теги ?>.
И у вас также есть проблема здесь, в \$$content, что вы пытаетесь сделать?
var findDescription = this.\$$content.find('input#newDescription');
Я где-то не вижу открывающегося PHP-тега. Этот код вообще не следует анализировать как PHP. Как запустить интерпретатор PHP? Это внутри Heredoc?