2015-10-08 111 views
2

我在頁面上有兩種形式「頂部表單」搜索電影,我試圖從頂部表單中獲取數據並將其作爲值傳遞給底部表格,因此可以輸入到數據庫中。將表單結果傳遞給另一個表單到表單值

我無法做到這一點,但我可以得到的結果顯示在頁面上。這裏是我的代碼:

TOP FORM DATA

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<?php 
$squery=""; 
if(isset($_GET["squery"])) 
{ 
$squery=$_GET["squery"]; 
} 
?> 
<div class="col-xs-8 col-xs-offset-2"> 
<form action="#" method="GET" class="form-horizontal"> 
<div class="form-group"> 
     <label for="newMovieName" class="col-sm-3 control-label">Search what movie?</label> 
     <div class="col-sm-9"> <input type="text" name="squery" class="form-control"><br /> 
<input type="submit" value="Submit" class="btn btn-success"></div></div> 
</form> 
    <script type="text/javascript" charset="utf-8"> 
    var api_key = '6969696969696969696969696969696'; 

    $(document).ready(function(){ 
     $.ajax({ 
     url: 'http://api.themoviedb.org/3/search/movie?api_key=' + api_key + '&query=<?php echo $squery; ?>', 
     dataType: 'jsonp', 
     jsonpCallback: 'testing' 
     }).error(function() { 
     console.log('error') 
     }).done(function(response) { 
      var i=0; 
     // for (var i = 0; i < response.results.length; i++) { 
      $('#search_results').append('<li>' + response.results[i].title + '</li>'); 
     // } 
     $('#search_results_title').append(response.results[i].title); 
     $('#search_results_release').append(response.results[i].release_date); 
     $('#search_results_overview').append(response.results[i].overview); 
     $('#search_results_poster').append('https://image.tmdb.org/t/p/w185' + response.results[i].poster_path); 
     $('#search_results_votes').append(response.results[i].vote_count); 
     }); 
    }); 
    </script> 

TOP表單結果

這裏就是結果從上面的形式顯示出來,我想這些結果以下面的形式顯示爲一個值。

<h3>Results</h3> 

    <p id="error"></p> 
    <ul id="search_results_title"></ul> 
    <ul id="search_results_release"></ul> 
    <ul id="search_results_overview"></ul> 
    <ul id="search_results_poster"></ul> 
    <ul id="search_results_votes"></ul> 

底模數據

這裏是底部形式應該獲得與如上文所值的「結果」提交到數據庫。

<form class="form-horizontal" role="form" action="processmovie.php" method="get" enctype="text/plain"> 
    <div class="form-group"> 
    <label for="newMovieName" class="col-sm-3 control-label">Title</label> 
    <div class="col-sm-9"> 
     <input type="text" class="form-control" id="newMovieName" name="movie_name" placeholder="Movie Title" required value=""> 
    </div> 
    </div> 
    <div class="form-group"> 
    <label for="movieYear" class="col-sm-3 control-label">Year</label> 
    <div class="col-sm-9"> 
     <input type="text" class="form-control" id="movieYear" name="movie_year" placeholder="Year" required> 
    </div> 
    </div> 
    <div class="form-group"> 
    <label for="movieBio" class="col-sm-3 control-label">Storyline</label> 
    <div class="col-sm-9"> 
     <textarea type="email" class="form-control" id="movieBio" name="movie_bio" rows="4" placeholder="Enter Storyline" required></textarea> 
    </div> 
    </div> 
    <div class="form-group"> 
    <label for="newImage" class="col-sm-3 control-label">Movie Cover URL</label> 
    <div class="col-sm-9"> 
     <input type="text" id="newImage" class="form-control" name="movie_img" placeholder="Enter URL" required> 
    </div> 
    </div> 
    <div class="form-group"> 
    <label for="movieRating" class="col-sm-3 control-label">Rating</label> 
    <div class="col-sm-9"> 
     <select id="movieRating" name="movie_rating" class="form-control" required> 
     <option value="G">G</option> 
     <option value="PG">PG</option> 
     <option value="PG-13">PG-13</option> 
     <option value="R">R</option> 
     <option value="NR">NR (Not Rated)</option> 
     </select> 
    </div> 
    </div> 
    <div class="form-group"> 
    <div class="col-sm-offset-3 col-sm-9"> 
     <button type="submit" class="btn btn-success">Add Movie</button> 
    </div> 
    </div> 
</form> 

我試圖用一個代碼variaty,試圖讓這裏的值是一個例子:<?php echo $_GET['search_results_title'];?>

我也發現了這樣的例子:How to pass the value of a form to another form?但是,我的形式是在同一頁上而不是不同的。

+0

如果形式是在同一個頁面,那豈不是要考慮採用了棱角分明JS的情況?所有的值都在客戶端流...甚至在這裏PHP也不是你的問題(也不是解決方案)。 –

+0

您在加載頁面時正在進行ajax調用,那時'squery'變量中沒有任何值。所以,絕不會將值保存在'$ squery'變量中,並且您將永遠無法通過Ajax調用獲取正確的數據。 – sandeepsure

+0

我對你想要的有點困惑。對我來說,你所要求的只是將你的ajax調用的值放到第二個表單中。如果是這種情況,那麼就使用(在你的'.done()'調用中)'$('#newMovieName').val(response.results [i] .title);'等等。我不理解你是否正確? – ioums

回答

2

正如我在我的評論說,你只是想你的Ajax調用改變這樣的事情:

$.ajax({ 
     url: 'http://api.themoviedb.org/3/search/movie?api_key=' + api_key + '&query=<?php echo $squery; ?>', 
     dataType: 'jsonp', 
     jsonpCallback: 'testing' 
     }).error(function() { 
     console.log('error') 
     }).done(function(response) { 
     var i=0; 

     $('#newMovieName').val(response.results[i].title); 
     $('#movieYear').val(response.results[i].release_date); 
     $('#movieBio').val(response.results[i].overview); 
     $('#newImage').val('https://image.tmdb.org/t/p/w185' + response.results[i].poster_path); 
     }); 

(我不知道你有response.results[i].vote_countmovieRating之間的關係)

Here is a fiddle排序顯示結果,雖然我不能完全準確地複製你的代碼,因爲那裏的Ajax調用

+0

**真棒!**作品像一個魅力...感謝您花時間幫助我! – antivinegar

相關問題