[英]Pass Unique PHP Variable to Javascript via Form
这是我在这里提出的问题的继续。
该问题的解决方案如下所示:
HTML:
<script type="text/javascript">
function goSearch(){
$("#Moviesearchdiv").load("MovieSearch.php",$('#mySearch').serialize());
}
</script>
<form action="JavaScript:goSearch()" method="POST" id="mySearch" >
<input type="text" name="moviename">
<input type="submit" name="submit" value="Search" >
</form>
<div id="Moviesearchdiv"></div>
我的MovieSearch.php看起来像这样:
<?php
$themovie = $_POST["moviename"];
$myurl = "http://my-url-here.com/search/?q={$themovie}";
$response = file_get_contents($myurl);
$result = json_decode($response, true);
$result=$result['movies'];
$totality = count($result);
for ($i = 0; $i <$totality; $i++) {
$mymovietitle = $result[$i]['original_title'];
$myposter = $result[$i]['poster_original'];
$uniquemovieID = $result[$i]['movie_id'];
echo "<li><img src={$myposter} >{$mymovietitle}</li>";
}
?>
在php的底部,在每个找到的结果中,我想要一个按钮,可以在其中将电影添加到我的收藏中。 这是通过另一个API调用完成的,该调用基本上将“ movie-id”代码附加到API网址的末尾。 因此,上述php的bootom看起来像这样:
for ($i = 0; $i <$totality; $i++) {
$mymovietitle = $result[$i]['original_title'];
$myposter = $result[$i]['poster_original'];
$uniquemovieID = $result[$i]['movie_id'];
echo "<li><img src={$myposter} >{$mymovietitle}
<form action='JavaScript:addMovie()' method='POST' id='{$uniquemovieID}' >
<input type=hidden id=movieid name=movieid value={$uniquemovieID }>
<input type='submit' name='submit' value='Add' style='width: 50px;'>
</form>
</li>";
}
<SCRIPT LANGUAGE="JavaScript">
function addMovie()
{
$("#Moviesearchdiv").load("movieadd.php",$("#yourFormId2").serialize());
}
</SCRIPT>
最后,movieadd.php文件如下所示:
<?php
$themovieID = $_GET["movieid"];
$addurl = "http://my-api-url/movie.add/?identifier={$themovieID }";
$response = file_get_contents($addurl);
$result = json_decode($response, true);
$result=$result['success'];
echo $result;
if ($result$ == 'True') {
echo "Movie was SUCCESSFULLY Added!";
} else {
echo "Sorry, something went wrong...";
}
?>
由于搜索返回各种电影,因此每个电影的格式“ id”必须唯一。 我想将PHP变量$ uniquemovie传递给JS函数行,以替换#yourFormId2值。
$("#Moviesearchdiv").load("movieadd.php",$("#yourFormId2").serialize());
希望有人能为您提供任何帮助。 感谢您抽时间阅读。
赫尔南
您可以将ID本身传递给javascript。
<form action='JavaScript:addMovie('{$uniquemovieID}')' method='POST' id='{$uniquemovieID}' >
<input type=hidden id=movieid name=movieid value={$uniquemovieID }>
<input type='submit' name='submit' value='Add' style='width: 50px;'>
</form>
<SCRIPT LANGUAGE="JavaScript">
function addMovie( movieId )
{
$("#Moviesearchdiv").load("movieadd.php",$("#" + movieId).serialize());
}
</SCRIPT>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.