好吧,我一直拉着我的頭髮幾個小時與這一個,現在,我完全禿頭我扔毛巾,看看是否有人可以點到(我敢肯定非常簡單)的錯誤是把我的代碼變成無用的垃圾。不明白爲什麼我不能通過名字閱讀java cookies
我有兩頁,第一個用戶輸入3個輸入和將它們保存爲餅乾:
<script type="text/javascript">
function CC()
{
var V1Box = document.getElementById("V1");
var V2Box = document.getElementById("V2");
var V3Box = document.getElementById("V3");
var V1 = V1Box.value;
var V2 = V2Box.value;
var V3 = V3Box.value;
document.cookie = "V1 = " + V1 + "; path=/";
document.cookie = "V2 = " + V2 + "; path=/";
document.cookie = "V3 = " + V3 + "; path=/";
window.location = "pg2.html";
}
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Serif WebPlus X5">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">
<title>db2</title>
<style type="text/css">
body {margin: 0px; padding: 0px;}
.Artistic-Body-C
{
font-family:"Verdana", sans-serif; font-size:27.0px; line-height:1.19em;
}
</style>
<link rel="stylesheet" href="wpscripts/wpstyles.css" type="text/css">
</head>
<body text="#000000" style="background-color:#ffffff; text-align:center; height:900px;">
<div style="background-color:transparent;text-align:left;margin-left:auto;margin
right:auto;position:relative;width:375px;height:900px;">
<form id="form_1" action="" method="post" target="_self" style="margin:0px;">
<input type="button" style="position:absolute; left:271px; top:12px; width:81px;
height:22px;" value="Submit" onClick="CC()">
<input type="text" id="V1" name="V1" value="" style="position:absolute; left:23px;
top:12px; width:227px;">
<input type="text" id="V2" name="V2" value="" style="position:absolute; left:23px;
top:46px; width:227px;">
<input type="text" id="V3" name="V3" value="" style="position:absolute; left:23px;
top:80px; width:227px;">
</form>
</div>
</body>
</html>
第二頁應該接受預先設置的Cookie,孤立存在的值:
<script type="text/javascript">
window.onload = function getCookie(){
var allcookies = document.cookie;
cookiearray = allcookies.split(';');
for(var i=0; i < cookiearray.length; i++){
var name = cookiearray[i].split('=')[0];
var value = cookiearray[i].split('=')[1];
if(name == 'V1'){var V1 = value;}
if(name == 'V2'){var V2 = value;}
if(name == 'V3'){var V3 = value;}
}
document.getElementById("V1").innerHTML += V2;
document.getElementById("V2").innerHTML += V1;
document.getElementById("V3").innerHTML += V3;
}
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Serif WebPlus X5">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">
<title>db2</title>
<style type="text/css">
body {margin: 0px; padding: 0px;}
.Artistic-Body-C
{
font-family:"Verdana", sans-serif; font-size:27.0px; line-height:1.19em;
}
</style>
<link rel="stylesheet" href="wpscripts/wpstyles.css" type="text/css">
</head>
<body text="#000000" style="background-color:#ffffff; text-align:center; height:900px;">
<div style="background-color:transparent;text-align:left;margin-left:auto;margin
right:auto;position:relative;width:375px;height:900px;">
<div style="position:absolute;left:23px;top:12px;">
<div class="Wp-Artistic-Body-P">
<span class="Artistic-Body-C" id="V1">V1: </span></br>
<span class="Artistic-Body-C" id="V2">V2: </span></br>
<span class="Artistic-Body-C" id="V3">V3: </span></br></div>
</div>
</div>
</body>
</html>
我遇到的問題是代碼無法識別這些if語句中的任何名稱 - 即使我回顯名稱和值;它會回顯「V3」和相應的值,但V3變量從不設置,並會回顯爲「未定義」。試圖弄清楚如何將名稱設置爲「V3」,但不識別「if(name =='V3'){var V3 = value)」,並且將var V3保留爲未定義。我甚至測試過「if(name!='V3'){var V3 = value)」,即使在回顯名稱並獲得「V3」時,它也會在if語句中解釋不等於V3的名稱,並實際設置相應的V3變量值。我不明白它如何正確命名所有內容,正確檢索所有內容,然後在if語句中無法識別該名稱以正確設置變量 - 如果我正在調用V1或V2或V3,則無關緊要;它只是不會在if語句中看到這些名字。
我敢肯定,在我的語法中,這是愚蠢的,或者有一個錯字或什麼的,但經過三個小時的嘗試自己修復它,我顯然是盲目的。我認識到還有其他更簡單的方式來操縱用戶輸入,但是作爲一個整體,我的項目要求我使用cookie,並且能夠通過不同頁面上的名稱檢索它們;如果你對如何以更好的方式完成這個標準有任何建議,我會非常感激,但只是讓我現在的代碼正常工作將是一個很大的幫助和我的頭皮(當我繼續抓住任何剩餘大量的頭髮已經開始大量流血)非常感謝你。
java或javascript?上次我檢查他們是2個不同的東西:) – Dalorzo
JSLInt你的JavaScript代碼,看看錯誤。 – epascarello
謝謝,我從這一切開始轉向JSLInt,所以至少這對我將來會有幫助。不幸的是,在這種情況下,它給了我一些小問題,這些問題不會影響應用程序,然後在解決我的問題(在47%)之前切斷,所以即使使用該工具我也會丟失。 – Oldtimer