Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.09.2015, 15:35
Новичок на форуме
Отправить личное сообщение для In4eg Посмотреть профиль Найти все сообщения от In4eg
 
Регистрация: 06.09.2015
Сообщений: 3

в таблицу пользователей добавить строку по вновь созданному пользователю
Всем привет!
Очень нужна помощь!
Есть форма:
<form method="post" ENCTYPE="multipart/form-data">
<label for="name">Имя</label>
<input required id="name" type="text" name="login" placeholder="Ваше имя" >
<br>
<label for="mail">Email</label>
<input required id="mail" type="text" name="email" placeholder="Ваша почта">
<br>
<label for="login">Login</label>
<input required id="login" type="text" name="login" placeholder="Ваш login">
<br>
<label for="password">Password</label>
<input required id="password" type="text" name="password" placeholder="Ваш password">
<br>
<input type="submit" value="Зарегистрироватся">
</form>

И таблица:
<table id="catTable">
<thead>
<tr><th>Имя</th><th>Логин</th><th>Email</th></tr>
</thead>
<tbody>
<tr><td id="catName"></td><td id="catLogin"></td><td id="catMail"></td></tr>
</tbody>
</table>

если по нажатию на кнопку "Оправить" в форме не было обнаружено ни одной ошибки в полях ввода, то на основании этих данных средствами JS (JQUERY)в таблицу пользователей добавить строку по вновь созданному пользователю, а поля регистрации очистить и привести
в исходное состояние.

Форма и таблица находятся на одной странице.

Целый день ломаю голову - ничего не получается. Пожалуйста, поделитесь идеями!
Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 06.09.2015, 15:59
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

Если другие проверки не нужны (если будут только HTML5), то убери все, что связано с error
// добавь id форме myForm
var myForm = document.getElementById("myForm");

// либо name, но тогда используй так:
// (myForm - это имя)
// var myForm = document.forms.myForm;

myForm.onsubmit = function(e) {
    // по умолчанию ошибок нет.
    var error = false;
    
    // поля таблицы
    var catName = document.getElementById('catName'),
        catLogin = document.getElementById('catLogin'),
        catMail = document.getElementById('catMail');
    
    /* 
    if (!this.name.value) {
    	error = true;
    }
    */
    
    // если ошибки, то
    if (error) return false; 
    
    // иначе
    
    // записываем данные в таблицу
    catName.innerHTML = this.name.value;
    catLogin.innerHTML = this.login.value;
    catMail.innerHTML = this.email.value;
    
    // сбрасываем форму
    this.reset();
    
    // а это, чтоб форма не отправлялась.
    e.preventDefault();
};

Последний раз редактировалось Lemme, 06.09.2015 в 16:04.
Ответить с цитированием
  #3 (permalink)  
Старый 06.09.2015, 16:23
Новичок на форуме
Отправить личное сообщение для In4eg Посмотреть профиль Найти все сообщения от In4eg
 
Регистрация: 06.09.2015
Сообщений: 3

Спасибо ОГРОМНОЕ!

Поля в таблицу записались, все отлично, но вот при создании следующего пользователя предыдущая строка стирается и новый не добавляется после предыдущего, а записывается на его место.
Ответить с цитированием
  #4 (permalink)  
Старый 06.09.2015, 17:07
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

Это убери.
<tr><td id="catName"></td><td id="catLogin"></td><td id="catMail"></td></tr>


myForm.onsubmit = function(e) {

    // чтоб форма не отправлялась.
    e.preventDefault();

    // Элементы таблицы
    var tbody = document.querySelector('#catTable tbody'),
        tr = document.createElement('tr');
    
    // создаем td
    var catName = document.createElement('td'),
        catLogin = document.createElement('td'),
        catMail = document.createElement('td');
    
    // записываем в td
    catName.innerHTML = this.name.value;
    catLogin.innerHTML = this.login.value;
    catMail.innerHTML = this.email.value;
    
    // добавляем их в tr
    tr.appendChild(catName);
    tr.appendChild(catLogin);
    tr.appendChild(catMail);
    
    // а теперь добавляем tr в tbody
    tbody.appendChild(tr);
    
    // сбрасываем форму
    this.reset();
};

Последний раз редактировалось Lemme, 06.09.2015 в 17:14.
Ответить с цитированием
  #5 (permalink)  
Старый 06.09.2015, 18:24
Новичок на форуме
Отправить личное сообщение для In4eg Посмотреть профиль Найти все сообщения от In4eg
 
Регистрация: 06.09.2015
Сообщений: 3

Lemme, огромнейшое спасибо!

Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавить строку в таблицу feztik Общие вопросы Javascript 2 30.03.2014 11:04
datatables как добавить в таблицу данных не перерисовывая строки? Kenuat jQuery 0 02.12.2013 17:14
Как добавить атрибут и к динамически созданному image platedz Элементы интерфейса 2 06.09.2012 22:07
Как добавлять строку в таблицу в нужное место? vitorrio Общие вопросы Javascript 3 31.08.2012 22:05
Добавление стилей к вновь созданному элементу alexeews Общие вопросы Javascript 4 29.09.2008 01:40