2017-05-07 49 views
0

這裏的第一個問題。我以HTML5一家唱片店的網站,一個網頁(store.html)顯示所有的專輯和每一個下面有一個鏈接立即購買按鈕buy.html如何將信息從一個html頁面傳遞到另一個

<div class="item goth rock folk cd"> 
<div class="card-izotop-img"> 
<img src="img/vinyl/wolfe_abyss.jpg" alt="Chelsea Wolfe - Abyss"> 
</div> 
<div class="card-izotop-info"> 
<h6>Chelsea Wolfe - Abyss</h6> 
<h5>€ 25</h5>        
<a href="vinyl/buy.html">Buy Album</a> 
</div> 
</div> 

的buy.html頁面對於本頁面中的所有專輯都是常見的。我想要做的是以某種方式將點擊的相冊中的信息(在store.html頁面上)傳遞給buy.html頁面。所以如果有人點擊上面的例子,他會得到文字說:你想買「切爾西沃爾夫 - 深淵」在「25」歐元

而其他人點擊不同的專輯會得到該專輯的信息。請注意,我沒有使用表單,我在這裏找到的大多數答案都使用表單作爲解決方案。

由於這是一家獨立的唱片店,我想避免每月向Shopify或Paypal等付費和佣金,所以我正在嘗試一個簡單的解決方案。如果你能指引我走向一個方向,我可以找到解決方法。謝謝

+1

您可以在href使用的查詢參數:''Buy Album。然後在購買頁面中,使用JavaScript解析URL並獲取'albumId'。 –

+0

更廣泛地說,編寫應用程序需要比HTML提供的更多功能,您將需要一種編程語言。您可以使用JavaScript或服務器端使用您喜歡的任何語言來執行此客戶端。 –

+0

謝謝,我會用js來嘗試客戶端解決方案,這似乎更簡單。 – Steliosc

回答

1

嗯,是的,第一個選項將信息從一個頁面傳遞到另一個將是一種形式。 因爲你不想使用它,所以有第二種方法是將信息作爲查詢字符串傳遞給你將要訪問的URL

Syntax is as follows: 
url?<query_string> where 
query_string is parameter1=value1&parameter2=value2&... so on 

Example: 
<a href="vinyl/buy.html?albumId=Chelsea_Wolfe_Abyss&price=25">Buy Album</a> 

點要記住,而使用查詢字符串: 當通過空格或特殊字符,更喜歡通過他們的URL編碼前的值。 有一個JavaScript函數encodeURIComponent()來對它們進行編碼,因爲直接在URL中傳遞時空格等可能是不安全的。

encodeURIComponent('Chelsea Wolfe - Abyss') will result in: 
Chelsea%20Wolfe%20-%20Abyss 
0

我想你應該使用PHP + MYSQL來做到這一點。 你應該:

  1. 廣場約專輯到數據庫中的所有數據約專輯數據庫
  2. 返回的數據,你會顯示
  3. 顯示專輯,並記錄編號參數 福克斯例如鏈接的列表:

    <a href="vinyl/buy.php?a=1">Buy album</a>

    <a href="vinyl/buy.php?a=2">Buy album</a>

  4. 從數據庫中選擇一行,並記錄您從URL獲得的編號。

您將使用代碼[email protected]$_GET[a]; 和使用$ record_number選擇從數據庫專輯信息

關於這張專輯,你想
  • 顯示信息顯示得到Recond(活化)號
  • +1

    非常感謝,我會考慮解決方案,在我嘗試這個之前將信息作爲URL中的查詢字符串傳遞,看起來更簡單:) – Steliosc

    0

    我試圖做的是某種方式傳遞從專輯信息點擊(上 store.html頁)到b uy.html頁面。

    如果你正在尋找一個解決方案HTML5,一個方法是使用HTML5 的localStorage

    您可以set名稱 - 值對localStorage(它會記住他們在整個網站的每個頁面上)。

    當您想要檢索這些值時,您可以從localStorage返回get,並使用它們填充object

    從那時開始(在該頁面上),您可以詢問object

    例子:

    var selectedAlbum = {}; 
     
    var prices = document.querySelectorAll('.item a'); 
     
    
     
    
     
    function selectAlbum() { 
     
        var item = this.parentNode; 
     
    
     
        localStorage.setItem('selectedAlbumTitle', item.getElementsByTagName('h2')[0].textContent); 
     
        localStorage.setItem('selectedAlbumPrice', item.querySelector('.price').textContent); 
     
    
     
        selectedAlbum.title = localStorage.getItem('selectedAlbumTitle'); 
     
        selectedAlbum.price = localStorage.getItem('selectedAlbumPrice'); 
     
    
     
        console.log('Title: ' + selectedAlbum.title); 
     
        console.log('Price: ' + selectedAlbum.price); 
     
    } 
     
    
     
    
     
    for (var i = 0; i < prices.length; i++) { 
     
        prices[i].addEventListener('click', selectAlbum, false); 
     
    }
    .item { 
     
    float: left; 
     
    width: 200px; 
     
    } 
     
    
     
    .item h2 { 
     
    font-size: 12px; 
     
    } 
     
    
     
    .item .price { 
     
    font-size: 24px; 
     
    font-weight: bold; 
     
    } 
     
    
     
    .item a:hover { 
     
    font-weight: bold; 
     
    cursor: pointer; 
     
    }
    <div class="item goth rock folk cd"> 
     
    <div class="card-izotop-info"> 
     
    <h2>Chelsea Wolfe - Abyss</h2> 
     
    <p class="price">&euro; 25</p>        
     
    <a>Buy Album</a> 
     
    </div> 
     
    </div> 
     
    
     
    <div class="item goth rock folk cd"> 
     
    <div class="card-izotop-info"> 
     
    <h2>King Dude - Burning Daylight</h2> 
     
    <p class="price">&euro; 20</p>        
     
    <a>Buy Album</a> 
     
    </div> 
     
    </div>

    相關問題