27.10.2014, 16:20
|
Новичок на форуме
|
|
Регистрация: 27.10.2014
Сообщений: 3
|
|
Скрипт, форма, таблица.
Итак, задача - таблица поиска пати для ММОРПГ, в которую каждый пользователь может вносить свои данные. Был написан при помощи гугла и базовых познаний скрипт, добавляющий строку в таблицу и данные юзера, сама таблицa, к которой это добавляется и форма ввода юзер-данных, которые должны появиться. При тесте - не работает. Моих познаний не хватает на обнаружение ошибки. Нижайше прошу помощи.
Код прикрепляю.
Вызываемый скрипт:
var d = document;
var nick;
var class;
var level;
var prestige;
var chrono;
var other;
var sfor;
function addRow()
{
// Считываем значения с формы
nick = d.getElementById('nick').value;
class = d.getElementById('class').value;
level = d.getElementById('level').value;
prestige = d.getElementById('prestige').value;
chrono = d.getElementById('chrono').value;
other = d.getElementById('other').value;
sfor = d.getElementById('sfor').value;
// Находим нужную таблицу
var tbody = d.getElementById('tab1').getElementsByTagName('tbody')[0];
// Создаем строку таблицы и добавляем ее
var row = d.createElement("tr");
tbody.appendChild(row);
// Создаем ячейки в вышесозданной строке
// и добавляем тх
var td1 = d.createElement("td");
var td2 = d.createElement("td");
var td3 = d.createElement("td");
var td4 = d.createElement("td");
var td5 = d.createElement("td");
var td6 = d.createElement("td");
var td7 = d.createElement("td");
row.appendChild(td1);
row.appendChild(td2);
row.appendChild(td3);
row.appendChild(td4);
row.appendChild(td5);
row.appendChild(td6);
row.appendChild(td7);
// Наполняем ячейки
td1.innerHTML = nick+;
td2.innerHTML = class+;
td3.innerHTML = level+;
td4.innerHTML = prestige+;
td5.innerHTML = chrono+;
td6.innerHTML = other+;
td7.innerHTML = sfor+;
alert ("Добавлено.")
}
Форма и таблица:
<head>
<script src="/adding.js"></script>
</head>
<body>
<form action="" id="add_persons" method="post" onsubmit="addRow();return false;">
<fieldset>
<legend>Здесь вы можете добавить себя</legend>
<ul><br>
<li>
<label for="nick">Ник</label><br>
<input type="text" name="nick" id="nick" value="" size="12" tabindex="1" />
</li><br>
<li>
<label for="class">Класс</label><br>
<input type="text" name="class" id="class" value="" size="12" tabindex="2" />
</li><br>
<li>
<label for="level">Уровень</label><br>
<input type="text" name="level" id="level" value="" size="12" tabindex="3" />
</li><br>
<li>
<label for="prestige">Пройденное уважение</label><br>
<input type="text" name="prestige" id="prestige" value="" size="12" tabindex="4" />
</li><br>
<li>
<label for="chrono">Открытое Хроно</label><br>
<input type="text" name="chrono" id="chrono" value="" size="12" tabindex="5" />
</li><br>
<li>
<label for="other">Другое</label><br>
<input type="text" name="other" id="other" value="" size="12" tabindex="6" />
</li><br>
<li>
<label for="sfor">Ищу</label><br>
<input type="text" name="sfor" id="sfor" value="" size="12" tabindex="7" />
</li><br><br>
<input type="submit" name="subm" class="submit" value="Добавить" tabindex="8" />
</ul>
</fieldset>
</form>
<table id="tab1">
<thead>
<tr>
<th>Ник</th>
<th>Класс</th>
<th>Уровень</th>
<th>Уважение</th>
<th>Хроно</th>
<th>Другое</th>
<th>Ищет</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</body>
|
|
27.10.2014, 16:34
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
Обероныч,
убрать + везде и заменить class тоже везде
|
|
27.10.2014, 16:41
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
Сообщение от Обероныч
|
При тесте - не работает
|
Это, что за конструкция такая?
Сообщение от Обероныч
|
// Наполняем ячейки
td1.innerHTML = nick+;
td2.innerHTML = cls+;
td3.innerHTML = level+;
td4.innerHTML = prestige+;
td5.innerHTML = chrono+;
td6.innerHTML = other+;
td7.innerHTML = sfor+;
|
|
|
27.10.2014, 16:42
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
Изобилие
<br>
в каждой дырке просто убивает...
|
|
27.10.2014, 16:55
|
Новичок на форуме
|
|
Регистрация: 27.10.2014
Сообщений: 3
|
|
Плюсы убрал, class убрал. Без результата.
<br> в каждой дырке прикрывает дырки в познаниях, к несчастью.
|
|
27.10.2014, 16:58
|
Новичок на форуме
|
|
Регистрация: 27.10.2014
Сообщений: 3
|
|
Я недокурил маны.
// Наполняем ячейки
td1.innerHTML = nick+;
td2.innerHTML = cls+;
td3.innerHTML = level+;
td4.innerHTML = prestige+;
td5.innerHTML = chrono+;
td6.innerHTML = other+;
td7.innerHTML = sfor+;
Плюсы не там, да. Тема закрыта, всем спасибо.
|
|
27.10.2014, 16:59
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
Обероныч,
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<script>
var d = document;
var nick;
var cls;
var level;
var prestige;
var chrono;
var other;
var sfor;
function addRow()
{
// Считываем значения с формы
nick = d.getElementById('nick').value;
cls = d.getElementById('cls').value;
level = d.getElementById('level').value;
prestige = d.getElementById('prestige').value;
chrono = d.getElementById('chrono').value;
other = d.getElementById('other').value;
sfor = d.getElementById('sfor').value;
// Находим нужную таблицу
var tbody = d.getElementById('tab1').getElementsByTagName('tbody')[0];
// Создаем строку таблицы и добавляем ее
var row = d.createElement("tr");
tbody.appendChild(row);
// Создаем ячейки в вышесозданной строке
// и добавляем тх
var td1 = d.createElement("td");
var td2 = d.createElement("td");
var td3 = d.createElement("td");
var td4 = d.createElement("td");
var td5 = d.createElement("td");
var td6 = d.createElement("td");
var td7 = d.createElement("td");
row.appendChild(td1);
row.appendChild(td2);
row.appendChild(td3);
row.appendChild(td4);
row.appendChild(td5);
row.appendChild(td6);
row.appendChild(td7);
// Наполняем ячейки
td1.innerHTML = nick;
td2.innerHTML = cls;
td3.innerHTML = level;
td4.innerHTML = prestige;
td5.innerHTML = chrono;
td6.innerHTML = other;
td7.innerHTML = sfor;
alert ("Добавлено.")
}
</script>
</head>
<body>
<form action="" id="add_persons" method="post" onsubmit="addRow();return false;">
<fieldset>
<legend>Здесь вы можете добавить себя</legend>
<ul>
<li>
<label for="nick">Ник</label>
<input type="text" name="nick" id="nick" value="" size="12" tabindex="1" />
</li>
<li>
<label for="cls">Класс</label>
<input type="text" name="class" id="cls" value="" size="12" tabindex="2" />
</li>
<li>
<label for="level">Уровень</label>
<input type="text" name="level" id="level" value="" size="12" tabindex="3" />
</li>
<li>
<label for="prestige">Пройденное уважение</label>
<input type="text" name="prestige" id="prestige" value="" size="12" tabindex="4" />
</li>
<li>
<label for="chrono">Открытое Хроно</label>
<input type="text" name="chrono" id="chrono" value="" size="12" tabindex="5" />
</li>
<li>
<label for="other">Другое</label>
<input type="text" name="other" id="other" value="" size="12" tabindex="6" />
</li>
<li>
<label for="sfor">Ищу</label>
<input type="text" name="sfor" id="sfor" value="" size="12" tabindex="7" />
</li>
<input type="submit" name="subm" class="submit" value="Добавить" tabindex="8" />
</ul>
</fieldset>
</form>
<table id="tab1">
<thead>
<tr>
<th>Ник</th>
<th>Класс</th>
<th>Уровень</th>
<th>Уважение</th>
<th>Хроно</th>
<th>Другое</th>
<th>Ищет</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</body>
</html>
|
|
28.10.2014, 08:17
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
Обероныч, и скрипт можно значительно сократить...
<!DOCTYPE html>
<html>
<head>
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
#add_persons li {
margin-bottom: 5px;
}
#add_persons label {
display: block;
}
</style>
<script type='text/javascript'>
var d = document;
function addRow() {
var a=[
'nick',
'cls',
'level',
'prestige',
'chrono',
'other',
'sfor'
];
// Находим нужную таблицу
var tbody = d.getElementById('tab1').getElementsByTagName('tbody')[0];
// Создаем строку таблицы и добавляем ее
var row = d.createElement("tr");
for (var i=0; i<a.length; i++) {
// Считываем значения с формы
var val = d.getElementById(a[i]).value;
var td = d.createElement("td");
row.appendChild(td);
// Наполняем ячейки
td.innerHTML = val;
};
tbody.appendChild(row);
alert ("Добавлено.");
};
</script>
</head>
<body>
<form action="" id="add_persons" method="post" onsubmit="addRow();return false;">
<fieldset>
<legend>Здесь вы можете добавить себя</legend>
<ul>
<li>
<label for="nick">Ник</label>
<input type="text" name="nick" id="nick" value="" size="12" tabindex="1" />
</li>
<li>
<label for="class">Класс</label>
<input type="text" name="cls" id="cls" value="" size="12" tabindex="2" />
</li>
<li>
<label for="level">Уровень</label>
<input type="text" name="level" id="level" value="" size="12" tabindex="3" />
</li>
<li>
<label for="prestige">Пройденное уважение</label>
<input type="text" name="prestige" id="prestige" value="" size="12" tabindex="4" />
</li>
<li>
<label for="chrono">Открытое Хроно</label>
<input type="text" name="chrono" id="chrono" value="" size="12" tabindex="5" />
</li>
<li>
<label for="other">Другое</label>
<input type="text" name="other" id="other" value="" size="12" tabindex="6" />
</li>
<li>
<label for="sfor">Ищу</label>
<input type="text" name="sfor" id="sfor" value="" size="12" tabindex="7" />
</li>
</ul>
<input type="submit" name="subm" class="submit" value="Добавить" tabindex="8" />
</fieldset>
</form>
<table id="tab1">
<thead>
<tr>
<th>Ник</th>
<th>Класс</th>
<th>Уровень</th>
<th>Уважение</th>
<th>Хроно</th>
<th>Другое</th>
<th>Ищет</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</body>
</html>
|
|
28.10.2014, 09:00
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
ksa,
сокращать так сокращать ... ещё минус 2 строки
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style type='text/css'>
#add_persons li {
margin-bottom: 5px;
}
#add_persons label {
display: block;
}
</style>
<script type='text/javascript'>
var d = document;
function addRow() {
var a=[
'nick',
'cls',
'level',
'prestige',
'chrono',
'other',
'sfor'
];
// Находим нужную таблицу
var tbody = d.getElementById('tab1').getElementsByTagName('tbody')[0];
// Создаем строку таблицы и добавляем ее
var row = tbody.insertRow();
for (var i=0; i<a.length; i++) {
// Считываем значения с формы
var val = d.getElementById(a[i]).value;
var td = row.insertCell(i);
// Наполняем ячейки
td.innerHTML = val;
};
alert ("Добавлено.");
};
</script>
</head>
<body>
<form action="" id="add_persons" method="post" onsubmit="addRow();return false;">
<fieldset>
<legend>Здесь вы можете добавить себя</legend>
<ul>
<li>
<label for="nick">Ник</label>
<input type="text" name="nick" id="nick" value="" size="12" tabindex="1" />
</li>
<li>
<label for="class">Класс</label>
<input type="text" name="cls" id="cls" value="" size="12" tabindex="2" />
</li>
<li>
<label for="level">Уровень</label>
<input type="text" name="level" id="level" value="" size="12" tabindex="3" />
</li>
<li>
<label for="prestige">Пройденное уважение</label>
<input type="text" name="prestige" id="prestige" value="" size="12" tabindex="4" />
</li>
<li>
<label for="chrono">Открытое Хроно</label>
<input type="text" name="chrono" id="chrono" value="" size="12" tabindex="5" />
</li>
<li>
<label for="other">Другое</label>
<input type="text" name="other" id="other" value="" size="12" tabindex="6" />
</li>
<li>
<label for="sfor">Ищу</label>
<input type="text" name="sfor" id="sfor" value="" size="12" tabindex="7" />
</li>
</ul>
<input type="submit" name="subm" class="submit" value="Добавить" tabindex="8" />
</fieldset>
</form>
<table id="tab1">
<thead>
<tr>
<th>Ник</th>
<th>Класс</th>
<th>Уровень</th>
<th>Уважение</th>
<th>Хроно</th>
<th>Другое</th>
<th>Ищет</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</body>
</html>
|
|
28.10.2014, 09:51
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
Сообщение от рони
|
сокращать так сокращать ... ещё минус 2 строки
|
Праильное решееение! (с)
|
|
|
|