2017-09-22 29 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 = ..... 
}) 
相关问题