webForumDet fria alternativet

Funktion som uppdaterar ibland... !!!???

JavaScript

2 svar · 277 visningar · startad av aasah

Medlem sedan mars 20034 471 inlägg
Frågan#1

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!!

Medlem sedan dec. 20025 483 inlägg
#2

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.

Medlem sedan mars 20034 471 inlägg
#3

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

283 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
149 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
149 ms — ändringar (db)