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> |
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) { //............ |
Спасибо всё заработало.
|
Часовой пояс GMT +3, время: 17:11. |