簡體   English   中英

通過表單將唯一的PHP變量傳遞給Javascript

[英]Pass Unique PHP Variable to Javascript via Form

這是我在這里提出的問題的繼續。

將文本輸入變量傳遞給PHP以進行Div加載

該問題的解決方案如下所示:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM