#php #html #jquery
#php #HTML #jquery
Вопрос:
Я получаю проблему
Предупреждение: использование неопределенной константы otherInput — предполагается ‘otherInput’ (это вызовет ошибку в будущей версии PHP) Предупреждение: обнаружено нечисловое значение
Я знаю, что есть какая-то проблема с цитатой.
Что я делаю, так это то, что я должен щелкнуть по вызываемому тегу привязки Click me one
и отправить идентификатор данных в скрипте. Я получаю значение id в скрипте, но я получаю сообщение об ошибке $(".showme' otherInput '").show();
Я использую WordPress, и я должен использовать приведенный ниже код в function.php поэтому я должен использовать свой скрипт внутри тега PHP.
Вот код
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
.showme{display: none;}
</style>
</head>
<body>
<div class="clickme" data-id="1">Click me one</div>
<div class="showme showme1">this is example</div>
<?php
echo '<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script type="text/javascript">
$(".clickme").click(function(){
var otherInput=$(this).data("id");
$(".showme' otherInput '").show();
});.
</script>';
?>
</body>
</html>
Ответ №1:
Похоже, что все в вашем php-блоке — это jQuery / Javascript.
Вопрос: Для чего вам вообще нужен блок PHP и «echo»?
Текущий:
<?php
echo '<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script type="text/javascript">
$(".clickme").click(function(){
var otherInput=$(this).data("id");
$(".showme' otherInput '").show();
});.
</script>';
?>
Предлагаемое изменение:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script type="text/javascript">
$(".clickme").click(function(){
var otherInput=$(this).data("id");
$(".showme" otherInput).show();
});.
</script>'
Комментарии:
1. Это
$(".showme' otherInput '").show();
должно быть$(".showme" otherInput).show();
.2. @Swati — спасибо за исправление. Также возможно, что «showme» — это константа или переменная на стороне сервера (PHP), а «.» — это конкатенация строк PHP. В этом случае это может быть
$(" <?php showme ?>otherInput).show();
. Но, насколько я могу судить, в блоке нет PHP, и нет необходимости в «echo». Что я и пытался сделать.3. @paulsm4, я проверил ваш первый ответ. Я все еще получаю сообщение об ошибке при перезагрузке страницы.
Ответ №2:
Просто следуйте обычному стандарту js, и если вы хотите реализовать свой скрипт внутри кода php:
Замените свой код этими изменениями:
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
.showme{display: none;}
</style>
</head>
<body>
<div class="clickme" data-id="1">Click me one</div>
<div class="showme showme1">this is example</div>
<?php
echo '<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script type="text/javascript">
$(".clickme").click(function(){
var otherInput=$(this).data("id");
$(".showme" otherInput).show();
//here otherInput js variable is just used as regular js variable inside the script, so no need to extra commas to call that js variable, just use it like you do in js files, and will work fine.
});
</script>';
?>
</body>
</html>
Комментарии:
1. Вы в значительной степени говорите то, что я сказал. Итак, зачем OP
echo
вообще нужен?2. вы предлагаете просто использовать js-код, и вы не упомянули замену в echo, поэтому я просто упомянул об этом в echo. Я не говорю то, что вы говорите, я говорю то, что я тестировал.
3. @paulsm4, мне нужно в echo, потому что весь мой код находится в echo, и этот код является одной частью моего кода.
4. @RajenderVerma, после добавления вашего кода, если я обновлю страницу, я получаю ту же ошибку.
5. @user9437856 какую ошибку вы получаете? можете ли вы добавить это сюда.