2016-12-16 5 views
2

別のページで作成したテーブルに保存した変数を取得しようとしています。私は、フォームからユーザーからの情報を取得し、クリックされ、変数に値を保存するために発射されるボタンを持っています。私の問題は、私が保存した変数を使って他のページの内側HTMLを変更できないということです。私は1 jsファイルと2 htmlファイルを使用しています。私はjs/jquery、html、およびcssのみ使用できます。ここに私のコードは次のとおりです。JQueryで2つのhtmlファイルで同じjsファイルの変数を使用する

loanpage.html

<!DOCTYPE html> 
<html lang="en-us"> 
<head> 
    <meta charset="utf-8"> 
    <title>Super Awesome Loan Guys</title> 
    <link rel="stylesheet" type="text/css" href="loanpage.css"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
<script type="text/javascript" src="loanpage.js"></script> 
</head> 
<body> 
    <div class="bg" id="text-center"> 
     <div class="companytitle"><span class="dollar">$</span>uper Awe<span class="dollar">$</span>ome Loan Guy<span class="dollar">$</span></div> 
     <div> 
      <form action="infopage.html"> 
       <h4>Loan Amount:</h4> 
       <input type="text" id="loanamount" name="loanamount"><br> 
       <input type="radio" id="12month" name="time">12 Months 
       <input type="radio" id="18month" name="time">18 Months 
       <input type="radio" id="24month" name="time">24 Months 
       <h4>Name:</h4><input id="namefield" type="text" name="firstlastname"> 
       <h4>Phone:</h4><input id="phonefield" type="text" name="phonennumber"> 
       <h4>Email:</h4><input id="emailfield" type="text" name="email"> 
       <h4>Zip Code:</h4><input id="zipfield" type="text" name="zipcode"><br> 
      </form> 
      <a href="infopage.html"><button type="button">Submit</button></a> 
     </div> 
    </div> 
</body> 
</html> 

infopage.html

<!DOCTYPE html> 
<html lang="en-us"> 
<head> 
    <meta charset="utf-8"> 
    <title>Super Awesome Loan Guys Loan Information</title> 
    <link rel="stylesheet" type="text/css" href="loanpage.css"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
    <script type="text/javascript" src="loanpage.js"></script> 
</head> 

<body> 
    <div class="bg" id="text-center"> 
     <h1>Here is the info you submitted!</h1> 
     <table> 
      <tr> 
       <th>Name</th> 
       <th>Phone Number</th> 
       <th>Email Address</th> 
       <th>Zip Code</th> 
       <th>Loan Amount</th> 
       <th>Loan Duration</th> 
       <th>Interest</th> 
      </tr> 
      <tr> 
       <td id="displayName">1</td> 
       <td id="displayPhone">1</td> 
       <td id="displayEmail">1</td> 
       <td id="displayZip">1</td> 
       <td id="displayAmount">1</td> 
       <td id="displayDuration">1</td> 
       <td id="displayInterest">1</td> 
      </tr> 
     </table> 
    </div> 
</body> 
</html> 

loanpage.js

//js code 
var name = ""; 
var phone=""; 
var email=""; 
var zip=""; 
var loan=0; 
var loanrate=12.0; 
var loanlen=0; 
//Jquery code 
$(document).ready(function(){ 
    $("#submitbutton").click(function(){ 
     loan = parseFloat($("#loanamount").val()); 
    if ($("#12month").is(':checked')){ 
     loanlen = 12; 
    } 
    else if ($("#18month").is(':checked')){ 
     loanlen = 18; 
    } 
    else if ($("#24month").is(':checked')){ 
     loanlen = 24; 
    } 
    name = $("#namefield").val(); 
    phone = $("#phonefield").val(); 
    email = $("#emailfield").val(); 
    zip = $("#zipfield").val(); 
    document.getElementById("displayName").innerHTML(name); 
    document.getElementById("displayPhone").innerHTML(phone); 
    document.getElementById("displayEmail").innerHTML(email); 
    document.getElementById("displayZip").innerHTML(zip); 
    document.getElementById("displayAmount").innerHTML(loan); 
    document.getElementById("displayDuration").innerHTML(loanlen); 
    document.getElementById("displayInterest").innerHTML(loanrate); 
}); 

});

+0

同時に開いているページはありますか? – Jersh

+2

Javascriptはデフォルトではセット・ステートを持っていないので、あるページに設定された変数は、GETまたはPOST変数、localStorage、またはその両方を使用してそのページに転送されない限り、別のページでは使用できませんページは同じブラウザで同時に開く(またはiframeまたはajax経由で2番目のページを読み込む)。 – junkfoodjunkie

+2

あなたの最善の解決策は、localStorageを使用することです。 – jt25

答えて

2

ローカルストレージが最適です。

// Save data to the current local store 
localStorage.setItem("username", "John"); 

// Access some stored data 
alert("username = " + localStorage.getItem("username")); 

https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

+0

それを見てから、私は本当にそれを使う方法がわかりません。そして、c9はlocalStorageが定義されていないと言います。 – Azotherian

+0

うーん..私はjsfiddleでコードを試しました。ブラウザの互換性を確認しますか?また、あなたのコードはどのように見えますか? – Jersh

関連する問題