да через алерт работает, но у меня другой случай - ввод данных в форму и вывод через document вот сам скрипт без хтмл Code: function two() { var a=0; x = document.forms[0].elements['x'].value; x+=1; for (var i=0; i<x; i++){ a+=i;} document.getElementById('qqq').innerHTML = 'Результат ='+a ; } а что оно выводит я писал выше. какая-то безумная магия.
ну дык замени a+=i; на a = a+i; ну просто вот такой код: Code: function two() { var a=0; x = document.forms[0].elements['x'].value; for (var i=1; i<=x; i++) a = a+i; document.getElementById('qqq').innerHTML = 'Результат ='+a; } если клиент дебил и вставит 0 или 1 - можно в скрипт проверку и на это засунуть.
x - это строка. Соответственно при (x += 1) происходит не сложение, а конкатенация и получается "11" вместо 2 и т. п. При сравнении (i < x) оба аргумента преобразуется к числовому типу (этого не происходит только если с обеих сторон - строки). Далее всё достаточно очевидно. Кстати, это называется арифметическая прогрессия и её сумма считается без циклов.
Паш, безумный ад. я пробовал и так. и даже думал что она их соединяет и писал так a=a+i*1 а твой код заработал. выяснил методом тыка , что все дело в выражени for (var i=0; i<x; i++) i<x -вот так пишет всякую херню, а вот так работает нормально i<=x . все дело в знаке =. 0_0. 2 астрологер. пока метод тыка осваивал ты ответ написал. в том то и дело не происходила конкатенация. если вводил 1 полчал 55 если 4 получал 820. даже не представляю как она считала.
Как будто у неё выбор есть. Достаточно проверить тип и значение x и всё станет ясно: Code: <script> function fn() { var a = 0; var x = document.forms[0].elements['x'].value; x += 1; alert('x: ' + typeof x + ': ' + x); for (var i = 0; i < x; i++){ a+=i; } alert('i: ' + i); document.getElementById('qqq').innerHTML = 'Результат ='+a ; } </script> <form> <input name="x" id="x" onchange="fn()"> </form> <pre id="qqq"></pre> Так и считала, для "11" и "41" соответственно.
Не могу сделать транслит вот код и http://tesson.tk/translit.js PHP: <html> <head> <title>Транслит</title> <script type='text/javascript' src='http://tesson.tk/translit.js'></script> </head> <body> Транслит:<input type="checkbox" name="transl" id="transl"> <input type="text" id="text" onkeypress="if($('#transl').attr('checked')) translate_letter(event, this, rules=1);"> </body> </html> что не так сделал?
Code: <script> var rusChars = new Array('а','б','в','г','д','е','ё','ж','з','и','й', 'к','л','м','н','о','п','р','с','т','у','ф','х','ч ','ц','ш','щ','э','ю','\я','ы','ъ','ь', ' ', '\'', '\"', '\#', '\$', '\%', '\&', '\*', '\,', '\:', '\;', '\<', '\>', '\?', '\[', '\]', '\^', '\{', '\}', '\|', '\!', '\@', '\(', '\)', '\-', '\=', '\+', '\/', '\\'); var transChars = new Array('a','b','v','g','d','e','jo','zh','z','i','j ','k','l','m','n','o','p','r','s','t','u','f','h', 'ch','c','sh','csh','e','ju','ja','y','', '', ' ', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''); var from = ""; function convert2EN() { from = document.getElementById("Message").value; from = from.toLowerCase(); var to = ""; var len = from.length; var character, isRus; for(var i=0; i < len; i++) { character = from.charAt(i,1); isRus = false; for(var j=0; j < rusChars.length; j++) { if(character == rusChars[j]) { isRus = true; break; } } to += (isRus) ? transChars[j] : character; } document.form1.Message.value = to; } </script> <FORM NAME="form1"> <textarea name="Message" id="Message" cols="30" rows="5" class="text"></textarea><br> <input type="button" value="Транслит" onclick="convert2EN()"> </FORM>
Зачем?О_о Ведь он достаточно громоздкий, а Pashkela предложил более простой и производительный вариант. Или в твоем скрипте есть какой-то особенный функционал, без которого не обойтись?
чет никак нагуглить не могу. как в ячейки таблицы (вместо знака пробела)вставить данные скрипта? в данном случае скрипт заполняет таблицу умножения //алерт не предлагать Code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1251"> <meta name="generator" content="PSPad editor, www.pspad.com"> <title></title> <style> table {border:darkred solid 1px;} td { text-align:center;width:40px;background-color:lightgrey;border:darkred solid 1px; } td.one {font-weight:bold; background-color: grey; } </style> <script> var c,j=1; for (var i=1;i<10;i++) {c=i*j;j++;} //как вывести значения в таблицу? </script> </head> <body> <h2 align="center"><b> table</b></h3> <table align="center" cellpadding="5" border="1" cellspacing="0"> <tbody><tr> <td class="one"> </td> <td class="one">1</td> <td class="one">2</td> <td class="one">3</td> <td class="one">4</td> <td class="one">5</td> <td class="one">6</td> <td class="one">7</td> <td class="one">8</td> <td class="one">9</td> <td class="one">10</td> </tr> <td class="one">1</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td class="one">2</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> </tbody></table> </body> </html>
Каждой ячейке присваиваешь свой id, вставлять примерно так: Code: document.getElementById('id').innerHTML = i*j;
Знаю что есть простые ошибки но немогу найти(( если не тяжело укажите <form name=forma1> <table width="152" height="161" border="1"> <tr> <td valign="top"><p class="стиль1">Количество ядер : <input type="text" name="textfield" /> </p> <p class="стиль1">Тип ядер: <select name="select"> <option value="1">Обычные</option> <option value="2">Элитные</option> <option value="3">Шрапнельные</option> </select> </p> <p class="стиль1">Урон +5%: <input type="checkbox" name="checkbox2" value="checkbox" /> </p> <input type="button" value="OK" onClick="obsh(forma1);"> <p class="стиль1">Можно нанести урона: <label> <input type="text" name="textfield2"> </label> </p></td> </tr> </table> </form> <script language="javascript"> function Obsh(obj) { var a=obj.forma1.textfield.value; var x; if (obj.forma1.elements[2] [1].selected) x=a*20*0.80; if (obj.forma1.elements[2] [2].selected) x=a*75*0.80; if (obj.forma1.elements[2] [3].selected) x=a*85*0.80; if (obj.forma1.elements[3].checked) x=x*1.05; obj.forma1.textfield2.value="x"; } </script> ПС: пишу только 1 день
это-то понятно. я хз как передать значение i document.getElementById(i).innerHTML = i*j; в td><p id="1"> </p></td> <td><p id="2"> </p></td>
да понимаю что в цикле. синтаксис не знаю и не могу найти. вот весь код (таблицу целиком не стал выкладывать) Code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1251"> <meta name="generator" content="PSPad editor, www.pspad.com"> <title></title> <style> table {border:darkred solid 1px;} td { text-align:center;width:40px;background-color:lightgrey;border:darkred solid 1px; } td.one {font-weight:bold; background-color: grey; } </style> <script> for (var i=1;i<11;i++) { for (var j=1;j<11;j++){ document.getElementById(i).innerHTML = i*j; //вот эту строчку } //как вывести значения в таблицу? </script> </head> <body> <h2 align="center"><b>Multiplication table</b></h3> <table align="center" cellpadding="5" border="1" cellspacing="0"> <tbody><tr> <td class="one"> </td> <td class="one">1</td> <td class="one">2</td> <td class="one">3</td> <td class="one">4</td> <td class="one">5</td> <td class="one">6</td> <td class="one">7</td> <td class="one">8</td> <td class="one">9</td> <td class="one">10</td> </tr> <td class="one">1</td> <td><p id="1"> </p></td> <td><p id="2"> </p></td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td class="one">2</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> </tbody></table> </body> </html>
во: Code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1251"> <meta name="generator" content="PSPad editor, www.pspad.com"> <title></title> <style> table {border:darkred solid 1px;} td { text-align:center;width:40px;background-color:lightgrey;border:darkred solid 1px; } td.one {font-weight:bold; background-color: grey; } </style> </head> <body> <h2 align="center"><b> table</b></h3> <table align="center" cellpadding="5" border="1" cellspacing="0"> <tr> <script> document.write("<td class='one'></td>"); for (var s=1; s<=10; s++) document.write("<td class='one'>"+s+"</td>"); document.write("<tr>"); for (var i=1; i<=10; i++) { document.write("<td class='one'>"+i+"</td>"); for (var j=1; j<=10; j++) document.write("<td>"+String(i*j)+"</td>"); document.write("</tr>"); } </script> </table> </body> </html>