Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 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>
Ответить с цитированием
  #2 (permalink)  
Старый 27.10.2014, 16:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Обероныч,
убрать + везде и заменить class тоже везде
Ответить с цитированием
  #3 (permalink)  
Старый 27.10.2014, 16:41
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 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+;
Ответить с цитированием
  #4 (permalink)  
Старый 27.10.2014, 16:42
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Изобилие
<br>

в каждой дырке просто убивает...
Ответить с цитированием
  #5 (permalink)  
Старый 27.10.2014, 16:55
Новичок на форуме
Отправить личное сообщение для Обероныч Посмотреть профиль Найти все сообщения от Обероныч
 
Регистрация: 27.10.2014
Сообщений: 3

Плюсы убрал, class убрал. Без результата.

<br> в каждой дырке прикрывает дырки в познаниях, к несчастью.
Ответить с цитированием
  #6 (permalink)  
Старый 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+;

Плюсы не там, да. Тема закрыта, всем спасибо.
Ответить с цитированием
  #7 (permalink)  
Старый 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>
Ответить с цитированием
  #8 (permalink)  
Старый 28.10.2014, 08:17
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 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>
Ответить с цитированием
  #9 (permalink)  
Старый 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>
Ответить с цитированием
  #10 (permalink)  
Старый 28.10.2014, 09:51
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от рони
сокращать так сокращать ... ещё минус 2 строки
Праильное решееение! (с)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен 1 скрипт создания таблицы с фильтром artsmart Работа 2 26.05.2014 13:12
2 компьютера 1 хром и 1 скрипт Megatron13 Opera, Safari и др. 1 21.07.2013 19:12
Почему скрипт не работает с данными, которые вернул другой скрипт? Rooner jQuery 3 20.09.2012 14:56
Изменить скрипт Изучаю_JS Общие вопросы Javascript 0 12.02.2012 22:05
А как зделать скрипт, чтобы например скрипт 1 заменялся скриптом 2? yura371 Общие вопросы Javascript 3 06.01.2009 22:40