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 · 277 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! ?? :q
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!?? :q
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??? :q
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! :birp