Jump to content
  • 0

HELP: Ошибка в небольшом скрипте


iluha
 Share

Question

Привет всем. Написал маленький скрипт, но в нем ошибка - помогите понять в ч?м дело пожалуйста.

Вот скрипт:

<script>

var i;

var rusalphabet = "АБВГДЕ?ЖЗИЙКЛАМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";

var keybline1 = "";

function RussianKeyboard(){

for (i = 1; i <= 11; i++) {

var keybletter = rusalphabet.substring(i-1,i);

keybline1 = keybline1 + '

'+ keybletter +'';

alert(keybline1);

if (i != 11) {

keybline1 = keybline1 + '

empty.gif"';

}

}

keyboardline1span.innerHTML = keybline1;

}

Судя по тому, что выда?т alert в переменной keybline1 собираются строки правильно со всеми тегами,

но в результате в получается строка только из букв:

АБВГДЕ?ЖЗИЙ

Где ошибка?

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Исправил следующее:

1. добавил document.getElementById("keyboardline1span") вместо keyboardline1span,

2. перен?с скрипт вниз документа.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<title></title>
</head>

<body>
<div id="keyboardline1span"></div>
<script>
var i;
var rusalphabet = "АБВГДЕ?ЖЗИЙКЛАМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
var keybline1 = "";

function RussianKeyboard(){
for (i = 1; i <= 11; i++) {
var keybletter = rusalphabet.substring(i-1,i);
keybline1 = keybline1 + '<td width=86 height=74 background="images/keyboard/button_bg.gif" class="keyboard" onclick=MakePressed(10,"'+ keybletter +'");>'+ keybletter +'</td>';
//alert(keybline1);
if (i != 11) {
keybline1 = keybline1 + '<td width=2 height=74><img src="images/empty.gif" width=2 height=74></td>';
}
}
document.getElementById("keyboardline1span").innerHTML = keybline1;
}
RussianKeyboard()
</script>
</body>
</html>

Link to comment
Share on other sites

  • 0

А кто за вас будет открывать и закрывать

Вариант номер 2:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<title></title>
<style type="text/css">
/*<![CDATA[*/
table {background:gray;}
table td {background:white;}
/*]]>*/
</style>
</head>

<body>
<div id="keyboardline1span"></div>
<script>
var i;
var rusalphabet = "АБВГДЕ?ЖЗИЙКЛАМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
var keybline1 = "<table><tr>";

function RussianKeyboard(){
for (i = 1; i <= 11; i++) {
var keybletter = rusalphabet.substring(i-1,i);
keybline1 = keybline1 + '<td width=86 height=74 background="images/keyboard/button_bg.gif" class="keyboard" onclick=MakePressed(10,"'+ keybletter +'");>'+ keybletter +'</td>';
//alert(keybline1);
if (i != 11) {
keybline1 = keybline1 + '<td width=2 height=74><img src="images/empty.gif" width=2 height=74></td>';
}
}
keybline1 = keybline1 + "</tr></table>";
document.getElementById("keyboardline1span").innerHTML = keybline1;
}
RussianKeyboard()
</script>
</body>
</html>

Link to comment
Share on other sites

  • 0

Нет! TABLE и TR открываются и закрываются вне

то есть примерно так:

то есть функция выстраивает ряд ячеек внутри ряда.

кстати самое интересное, что если сделать через document.write цикл прямо на месте, то вс? работает, а вот если перемещаешь в функцию и вносишь строки через innerHTML то не пашет ((

Link to comment
Share on other sites

  • 0
у tr нет свойтсва иннерХТМЛ...

О! Спасибо! Вот это и помогло ))

сделал так:

<script language="JavaScript">

var i;

var rusalphabet = "АБВГДЕ?ЖЗИЙКЛАМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";

var engalphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

var keybline1 = '

function RussianKeyboard(){

for (i = 1; i <= 11; i++) {

var keybletter = rusalphabet.substring(i-1,i);

keybline1 = keybline1 + "

"+ keybletter +"";

// alert(keybline1);

if (i != 11) {

keybline1 = keybline1 + "

empty.gif"";

}

}

keybline1 = keybline1 + "

";

document.getElementById("keyboardline1span").innerHTML = keybline1;

}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy