Я пытаюсь получить параметр из url с php и записать его в переменную js, чтобы сделать некоторые вещи jquery.
мой url выглядит так
www.example.com/?v=12345
Мой код
vnew = "<?php echo $_GET["v"];?>"; if (vnew == null) { myfunction(); } else { $(".myDiv").attr('src','newsrc'); $(".title").html("bla"); };
если URL-адрес подобен www.example.com, то не должно быть значение «null», чтобы моя функция срабатывала? Однако, если я установил его в «12345», условие else не срабатывает.
Что здесь не так? Спасибо!
Измените его так:
<?php if ($_GET["v"]) { ?> myfunction(); <php } else { ?> $(".myDiv").attr('src','newsrc'); $(".title").html("bla"); <?php } ?>
.<?php if ($_GET["v"]) { ?> myfunction(); <php } else { ?> $(".myDiv").attr('src','newsrc'); $(".title").html("bla"); <?php } ?>
ИЛИ
<?php if ($_GET["v"]) { echo "myfunction();"; } else { echo "$(\".myDiv\").attr('src','newsrc'); $(\".title\").html(\"bla\");"; } ?>
чтобы проверить, работает ли ваше состояние:
<?php if ($_GET["v"]) { echo "myfunction();"; } else { echo "Hello"; } ?>
Он никогда не будет пустым, только пустая строка. Подумайте, что такое JS-выход, если значение не передано:
vnew = ""; //no PHP output between the quotes, as no value found
В любом случае вам не нужен PHP для захвата var, в любом случае.
var tmp = location.search.match(/v=([^&]+)/), vnew = tmp ? tmp[1] : null;
В этом случае значение будет равно null
если значение не найдено.
Попробуйте var_dump($_GET["v"])
на базовом URL-адресе. Используйте это значение в своем сравнении.