У меня есть следующий вопрос в моей анкете PHP:
Как видно на изображении, когда пользователь выбирает «По актеру», появляется текстовое поле (для этого я использую автозаполнение jQuery). Затем, что мне нужно, когда пользователь нажмет кнопку «Фильмы этого актера», список фильмов этого актера (в данном случае: Том Хэнкс) будет показан в новом окне.
Чтобы получить фильмы от актера, которого пользователь вставил в текстовое поле, сначала мне нужно
быть в состоянии получить доступ selectedVal
в дочернем окне. Затем мне нужно выполнить запрос к базе данных, чтобы получить все фильмы по selectedVal (имя актера в текстовом поле).
Это мой код:
<html>
<body>
<div id="m_scents2" class="field2" style="display:none;">
<input type="textbox" name= "tag" id="tags" placeholder="Enter an actor/actress name here" />
<input type="button" value="Movies by this actor" id="btnRight" />
</div>
<script type="text/javascript">
var selectedVal;
$(document).ready(function () {
// ...
//..
if ($(this).val() == "byActor"){
$("#tags").focus();
$("#tags").autocomplete({
source: "actorsauto.php",
minLength: 2,
focus: function( event, ui ){
event.preventDefault();
return false;
},
select: function (event, ui){
window.selectedVal = ui.item.value;
}
});
});
$('#btnRight').on('click', function (e) {
popupCenter("movieByactor.php","_blank","400","400");
});
</script>
</body>
</html>
и это дочернее окно (movieByactor.php):
<script type="text/javascript">
var selectedVal = parent.window.opener.selectedVal;
$.ajax({
url: 'childfilm.php', //childfilm.php IS A PHP FILE WHERE I RUN SQL QUERY TO GET MOVIES BY THE ACTOR ...
datatype: "json",
data:{q:selectedVal},
success: function(response) {
alert(JSON.stringify(response));
}
});
</script>
Теперь мой вопрос: как я могу использовать php внутри javascript? Я знаю, что php на стороне сервера, а javascript — на клиенте. Я прочитал много похожих вопросов и использовал ajax, но с приведенным выше кодом, когда я нажимаю на кнопку, появляется новое окно, но оно пустое.
Я действительно ценю, если кто-то может мне помочь.
Заранее спасибо,
childfilm.php должен быть в кавычках
<script type="text/javascript">
var selectedVal = parent.window.opener.selectedVal;
$.ajax({
url: 'childfilm.php', //childfilm.php IS A PHP FILE WHERE I RUN SQL QUERY TO GET MOVIES BY THE ACTOR ...
datatype: "json",
data:{q:selectedVal},
success: function(response) {
alert(JSON.stringify(response));
}
});
</script>
Если вы поместите ваш URL между кавычками, проблема будет исправлена: url: ‘childfilm.php’. Без кавычек javascript думает, что это объект (который вернет undefined).