Hej igen!
Det verkar som att det finns dubbla uppsättningar av de fält som inte ger dig något värde på cwRes.php. Exempelvis så finns <input type="hidden" id="H 2" name="H 2" value=""> på två ställen.
2 svar · 279 visningar · startad av aasah
Just nu har jag ett mycket märkligt fel... Mitt PHP-skript lägger ett antal (tomma) hiddenfält i sidan. Dessa får sedan värden via en JS-funktion, addWord, med följande utseende:
function addWord(jsForm, direction) {
//Funktionen anropas OK
//Hiddenvar finns även om de inte syns i källan...
var start, txtBox, word, lgth;
if (direction == "Across") {
start = document.getElementById("wordBoxAcrossStart").value;
txtBox = document.getElementById("wordBoxAcrossWord");
word = txtBox.value;
lgth = startPosJSarr[start]["lengthAcross"];
}
else {
start = document.getElementById("wordBoxDownStart").value;
txtBox = document.getElementById("wordBoxDownWord");
word = txtBox.value;
lgth = startPosJSarr[start]["lengthDown"];
}
word = word.toUpperCase();
if (word.length != lgth)
alert ("This word is " + lgth + " letters long.");
else { //Längden stämmer
for (var i = 0; i < lgth; i++) {
var ch = word.charAt(i);
var td = document.getElementById(start);
var hide = document.getElementById(findHiddenID(start)); //Mina hiddenfält
[B]td.innerText = ch;[/B] //Sätter bokstaven i korsordet
[B]hide.value = ch;[/B] //Sätter bokstaven i hiddenfältet
start = letterBoxJSarr[start]["next" + direction];
}
txtBox.value = "";
}
}
Denna for-loop rasslar igenom alla bokstäver, vilket vackert visas i korsordet. Alla inskrivna bokstäver på rätt plats. Men... det visar sig att när hidden-fältens form postas, så har bara vissa(!) hiddenfält fått värden från iskrivningen med sig! ??
Resultatsidan för formen de ligger i skriver just nu ut de värden som följer med sidan. Och då ser man att alla hiddenfält verkligen ligger i formen, men bara ca hälften av de hiddenfält som borde fått ett värde faktiskt fick det!??
Exempel: Om man laddar sidan, och klickar tex i ruta H6, samt fyller i godtyckligt ord på 8 bokstäver för Acrossordet mellan H2-H9, tex JULTIDER, så fylls ordet ut helt i korsordet (via addWord-anrop). Sedan trycker vi på "Check for correctness" ovanför korsordet. Då visas en lista på alla postade hiddenfält och deras innehåll.
//En bit ner står:
H_2 =>
Hid-6-0 => H 2
H_3 => U
Hid-6-1 => H 3
H_4 =>
Hid-6-2 => H 4
H_5 => T
Hid-6-3 => H 5
H_6 => I
Hid-6-4 => H 6
H_7 =>
Hid-6-5 => H 7
H_8 => E
Hid-6-6 => H 8
H_9 =>
Hid-6-7 => H 9
Det intressanta med denna utskrift är följande:
Hid-värdena säger i vilka rutor de 8 bokstäverna (index 0-7) i ord 6 står i.
H_i talar om vad dessa rutor innehöll... eller borde göra. Enligt resultatet har vi skrivit: " U TI E " inte "JULTIDER". Vad ända in i glödheta...!? Hur kan den ena feta raden ta alla bokstäver när den andra inte gör det???
Det blir samma konstigheter oavsett ord, och oavsett vilken kolumn/rad som fylls i.
Tacksam för idéer om vad som strular!!
Hej igen!
Det verkar som att det finns dubbla uppsättningar av de fält som inte ger dig något värde på cwRes.php. Exempelvis så finns <input type="hidden" id="H 2" name="H 2" value=""> på två ställen.
Peter S skrev:
Hej igen!
Det verkar som att det finns dubbla uppsättningar av de fält som inte ger dig något värde på cwRes.php. Exempelvis så finns <input type="hidden" id="H 2" name="H 2" value=""> på två ställen.
Ååååh! Ja, naturligtvis! Det är de bokstäver som förekommer både i across och down! OK, då kan jag säkert hitta en lösning. Tusen tack för hjälpen!