Javascript.RU

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

Form event handler not working
Всем привет!
Есть проблема при передачи данных вводимых через форму..
console.log не выводит нечего в консоль..
Ивент не срабатывает..
Буду рад если кто сможет помочь...

function registerController(){

   document.getElementById("reg_button").onsubmit = function(){

    console.log("In the register");

    var user = {

    username:document.getElementById("reg_user_name").value,
    firstname:document.getElementById("first_name").value,
    lastname:document.getElementById("last_name").value,
    userid:document.getElementById("user_id").value,
    password:document.getElementById("reg_password").value,
    email:document.getElementById("reg_email").value

    }

  console.log(user.username);
  console.log(user.userid);
  console.log(user.firstname);
  console.log(user.lastname);
  console.log(user.password);
  console.log(user.email);

  registerHandler(user);

   }
 }

function registerHandler(user){


  console.log(user.username);
  console.log(user.userid);
  console.log(user.firstname);
  console.log(user.lastname);
  console.log(user.password);
  console.log(user.email);

   var xhr = new XMLHttpRequest();

   xhr.onreadystatechange = function(){

    if(xhr.readyState!=4 && xhr.status!=200){
        return window.alert(xhr.responseText);
    }
   }

    xhr.open("POST","http://localhost:8080/CouponOnWeb/webappl/register",true);
    xhr.setRequestHeader('Content-type','application/json;charset=utf-8');
    xhr.send(user);
}


<form id = "registrator" onsubmit = "registerController()">

  <label for = "reg_user_name">User name:</label>
  <input id = "reg_user_name" name = "reg_user_name" type = "text" placeholder = "user name">
  <br>
  <label for = "first_name">First name:</label>
  <input id = "first_name" name = "first_name" type = "text" placeholder = "first name">
  <br>
  <label for = "last_name">Last name:</label>
  <input id = "last_name" name = "last_name" type = "text" placeholder = "last name">
  <br>
  <label for = "user_id">Id number:</label>
  <input id = "user_id" name = "user_id" type = "number" placeholder = "id number">
  <br>
  <label for = "reg_password">Password:</label>
  <input id = "reg_password" name = "reg_password" type = "text" placeholder = "password">
  <br>
  <label for = "reg_email">Email:</label>
  <input id = "reg_email" name = "reg_email" type = "email" placeholder = "email">
  <br>
  <input id = "reg_button" name = "reg_button" type = "submit" value = "Register">
  </form>
Ответить с цитированием
  #2 (permalink)  
Старый 14.06.2016, 14:35
Аватар для pureJS
Аспирант
Отправить личное сообщение для pureJS Посмотреть профиль Найти все сообщения от pureJS
 
Регистрация: 04.06.2016
Сообщений: 70

Maks88, не срабатывает, потому что onsubmit относится только к FORM, а не к ещё и к кнопке, как у тебя. Вот так должно работать:
function registerController()
{

    console.log("In the register");

    var user = {

    username:document.getElementById("reg_user_name").value,
    firstname:document.getElementById("first_name").value,
    lastname:document.getElementById("last_name").value,
    userid:document.getElementById("user_id").value,
    password:document.getElementById("reg_password").value,
    email:document.getElementById("reg_email").value

    };

  console.log(user.username);
  console.log(user.userid);
  console.log(user.firstname);
  console.log(user.lastname);
  console.log(user.password);
  console.log(user.email);

  registerHandler(user);
}


И ещё во втором месте тоже ошибка. Надо так:
if(xhr.readyState == 4)
{
    if(xhr.status == 200)
    {
    //............
Ответить с цитированием
  #3 (permalink)  
Старый 14.06.2016, 16:43
Новичок на форуме
Отправить личное сообщение для Maks88 Посмотреть профиль Найти все сообщения от Maks88
 
Регистрация: 14.06.2016
Сообщений: 3

Спасибо всё заработало.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как создать event, эмулирующий enter Artanis Events/DOM/Window 7 16.07.2019 06:40
помогите со скриптом jquery hesrun jQuery 24 22.02.2013 12:59
event handler surfer123 jQuery 1 17.02.2013 10:52
event + setTimeout fsingle Events/DOM/Window 2 02.05.2012 09:07
Не работает аякс в jQuery Form Ticksy jQuery 4 19.07.2011 12:55