首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过表单将惟一的PHP变量传递给Javascript

通过表单将惟一的PHP变量传递给Javascript
EN

Stack Overflow用户
提问于 2014-05-03 13:44:51
回答 1查看 149关注 0票数 0

这是我在这里的问题的延续。

Pass Text Input Variable to PHP for Div Loading

这个问题的解决办法如下:

HTML:

代码语言:javascript
复制
<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看起来是这样的:

代码语言:javascript
复制
<?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调用完成的,该调用基本上将‘appends’代码附加到API url的末尾。所以上面的php的引导看起来如下所示:

代码语言:javascript
复制
    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文件看起来如下:

代码语言:javascript
复制
<?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值。

代码语言:javascript
复制
 $("#Moviesearchdiv").load("movieadd.php",$("#yourFormId2").serialize());

我希望有人能帮忙..。任何帮助建议都是非常感谢的。谢谢你抽出时间阅读这篇文章。

赫南多

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-03 13:54:17

您可以将id本身传递给javascript。

代码语言: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>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23445243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档