2017-09-22 26 views
0

這是工作中的參考數字我想給我的形式工作中的參考文本框:傳遞文本從一個頁面到下一個使用JavaScript

<p><span id="job" value="90192"><strong>Reference Number: 90192</strong></span></p> 
//when this link will be clicked it will redirect to apply.html with job value stored in session. 
<a href="Apply.html" class="button-apply" id="apply3">Apply Here</a> 

<p><span id="job2" value="90192"><strong>Reference Number:90192</strong></span></p> 
//when this link will be clicked it will redirect to apply.html with job value stored in session. 
<a href="Apply.html" class="button-apply" id="apply2">Apply Here</a> 

的JavaScript jobs.js文件:

"use strict" 

function storedata() { 
    var job = document.getElementById("job").value; 
    var job2 = document.getElementById("job2").value; 
    var job3 = document.getElementById("job3").value; 
    sessionStorage.job = job; 
    sessionStorage.job2 = job2; 
    sessionStorage.job3 = job3; 
} 

function init() { 
    var apply = document.getElementById("apply"); 
    var apply2 = document.getElementById("apply2"); 
    var apply3 = document.getElementById("apply3"); 
    apply.onclick = storedata; 
    apply2.onclick = storedata; 
    apply3.onclick = storedata; 
} 

window.onload = init; 

這裏我想存儲從apply.html開始的作業參考號碼:

<label for="Job">Job Reference Number</label> 
<input type="text" name="Student ID" id="Job" norequired="norequired" pattern="\d{5}" /> 
<br /> 
<br />       

這是讓我的JavaScript函數sessionStorageapply.js

function retrievedata() { 
    document.getElementById("Job").value = sessionStorage.Job = Job; 
} 

問題是,當點擊來自jobs.html申請鏈接會重定向到apply.htm在作業參考號碼將被存儲,但它是不會發生

+0

什麼問題呢?? –

+0

問題是,當點擊應用從jobs.html鏈接它將重新申請。htm作業參考號碼將被存儲,但不會發生 –

+0

您是否真的想要將點擊的所有值存儲起來,而不僅僅是您點擊的那個值? – epascarello

回答

1

做這樣

存儲數據

sessionStorage.setItem("job", "xyz"); 

retrive

if (sessionStorage.job) 
    document.getElementById("result").innerHTML = sessionStorage.getItem("job"); 

入住這也:https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage

+0

但我做我喜歡我在paragrapgh給工作描述編號,所以通過使用該ID我想存儲和檢索, –

+0

@ParasSharma - 而不是做這個sessionStorage.job ..試試這個sessionStorage.setItem(「工作」,工作); ...還檢查document.getElementById(「工作」)。值返回值 –

0

問題是你如何參考價值。沒有非投入物的價值財產。

var el = document.getElementById("t"); 
 
console.log("value: ", t.value); //nope 
 
console.log("getAttribute: ", t.getAttribute("value")) //right 
 
console.log("dataset: ", t.dataset.value) // how most would do it
<span id="t" value="1" data-value="123"></span>

事件更好地利用數據價值,因爲這是一個有效的屬性。

而會話存儲密鑰區分大小寫sessionStorage.JobsessionStorage.job不一樣並且此行錯誤。

document.getElementById("Job").value = sessionStorage.Job = Job; 

您正在將變量Job存儲到將Job存儲到值中的sessionStorage.Job中。它應該是

document.getElementById("Job").value = sessionStorage.job 

然後,你必須弄清楚你點擊了什麼項目。

+0

你能舉例與我的代碼有關 –

+0

你沒有看到你會用'.getAttribute(「value」)'替換'.value'? – epascarello

+0

不行getAttribute不能正常工作 –

0

問題是,您正在使用錨點標記href導航到apply.html,因此在您點擊的方法觸發得到執行之前,它會轉到apply.html。

<a href='apply.html'>Button</a> 

使用這樣的

<a id='navigateToApplyPage'>Button</a> 

在JS:

$('#navigateToApplyPage').on('click',function(){ 
    // set sessionstorage //sessionStorage.setItem.... 
    // navigate to the required page // window.location.href = ..... 
}) 
相關問題