Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.11.2013, 16:47
Аспирант
Отправить личное сообщение для Apelcun77 Посмотреть профиль Найти все сообщения от Apelcun77
 
Регистрация: 14.11.2013
Сообщений: 37

Регистрация на сайте
Вот сделал код:
<html>
<head>
<title>Сайт тыры пыры там</title>
<meta http-eqiv="content type" content="text/html; charset=windows-1251">
<script language="javascript">

var alpha = /^[()\-.\/@^_а-яА-ЯёЁ\w]+$/;
function firstnameuser() {
	if (document.feedback.firstname.value.length < 2) {
    document.all.item("firstname_check").innerHTML = "Минимум 2 символа";}
	else {
	document.all.item("firstname_check").innerHTML = alpha.test(document.feedback.firstname.value) ? '+' : 'Некорректные символы';
	}
	if (document.feedback.firstname.value.length > 15) {
    document.all.item("firstname_check").innerHTML = "Превышена длина";}
}

function emailuser() {
	if (document.feedback.email.value.length < 2) {
    document.all.item("email_check").innerHTML = "Минимум 2 символа";}
	else {
	document.all.item("email_check").innerHTML = alpha.test(document.feedback.email.value) ? '+' : 'Некорректные символы';
	}
	if (document.feedback.email.value.length > 25) {
    document.all.item("email_check").innerHTML = "Превышена длина";
	}
}

function female_male() {
if (document.feedback.floor[0].checked) {
document.all.item("female_male").innerHTML = "+";
}
if (document.feedback.floor[1].checked) {
document.all.item("female_male").innerHTML = "+";
}
}

function checkForm() {
if (document.feedback.firstname_check.value != "+") {
document.all.item("error_register").innerHTML = "Имя заполнено неверно";
}
if (document.feedback.email_check.value != "+") {
document.all.item("error_register").innerHTML = "E-mail заполнен неверно";
}
if (document.feedback.female_male.value != "+") {
document.all.item("error_register").innerHTML = "Пол не указан";
}
if (document.all.item("error_register").innerHTML == " ") return true;
if (document.all.item("error_register").innerHTML != " ") return false;
}

</script>
</head>
<img src="images/head.jpg" width=1900 height=200>
<body bgcolor=white text="grey">
<table width=1960>
<tr>
<td valign=top>
<h2>Меню</h2>
<ul>
<li><a href="index.html">Главная</a>
<li><a href="games.html">Игры</a>
<li><a href="films.html">фильмы</a>
<li><a href="feedback.html">Обратная связь</a>
</ul></td>
<td>
<h1>Обратная связь</h1>
<span id="error_register"> </span>
<table>
<tr>
<form action="request.php" method="post" name="feedback" onSubmit="return checkForm()">
<td><label>Имя:</label></td>
<td><input type="text" name="firstname" onBlur="firstnameuser()"></td>
<td width="200"><p id="firstname_check"></td>
<tr>
<td><label>E-mail</label></td>
<td><input type="text" name="email" onBlur="emailuser()"></td>
<td width="200"><p id="email_check"></td>
</tr>
<tr>
<td><label>Пол:</label></td>
<td><input type="radio" name="floor" value="male" onBlur="female_male()">Мужской
<input type="radio" name="floor" value="female" onBlur="female_male()">Женский
</td>
<td width="200"><p id="female_male"></td>
</tr>
<tr>
<td>
<label>Выбирите тему:</label></td>
<td><select name="subject">
<option value="review selected">Отзыв</option>
<option value="suggestion">Предложение</option>
<option value="problems">Жалоба</option>
</td>
</select>
</tr>
</table>
<label>Сообщение:</label>
<textarea name="message" cols="40" rows="10"></textarea>
<br>
<div style="border: 1px double black; padding: 3px; width: 165px;" id="symbols">Не более 450 символов!</div>
<input type="checkbox" name="news">Присылать уведомления на почту
<br>
<input type="submit" value="Подтвердить">
</td>
</form>
<tr>
</table>
</body>
</html>

Я сделал чтобы рядом с полем ввода появлялось предупедение об ошбике или "+" если все правильно,оно появляется после сброса фокуса, можете проверить как работает.
Но теперь я столкнулся с другой проблемой -хочу сделать что бы когда форма заполнена не верно то над формой была причина и она не отправляла запрос, вобщем я сделал это, но у меня не работает, помогите пожалуйста
Ответить с цитированием
  #2 (permalink)  
Старый 25.11.2013, 17:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Apelcun77,
у вас очень крутая форма которой пофигу на таблицу в которой она находится и очень крутой селект в форме которому пофигу и на форму и на таблицу но особо впечатляет document.all
Ответить с цитированием
  #3 (permalink)  
Старый 25.11.2013, 19:41
Аспирант
Отправить личное сообщение для Apelcun77 Посмотреть профиль Найти все сообщения от Apelcun77
 
Регистрация: 14.11.2013
Сообщений: 37

рони, я новичок, лучше скажите что нужно исправить пожалуйста
Ответить с цитированием
  #4 (permalink)  
Старый 25.11.2013, 19:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Apelcun77,
вместо document.all -> http://learn.javascript.ru/searching-elements-dom
не путать последовательность тегов а соблюдать вложенность - строки 094 и 095 для селекта --
html разметка: таблица в форме либо форма в одной из ячеек таблицы.
Ответить с цитированием
  #5 (permalink)  
Старый 25.11.2013, 21:23
Аспирант
Отправить личное сообщение для Apelcun77 Посмотреть профиль Найти все сообщения от Apelcun77
 
Регистрация: 14.11.2013
Сообщений: 37

function checkForm() {
var reg_error = document.getElementById("error_register");
if (document.feedback.firstname_check.value != "+") {
reg_error.innerHTML  = "Имя заполнено неверно";
}
if (document.feedback.email_check.value != "+") {
reg_error.innerHTML  = "E-mail заполнен неверно";
}
if (document.feedback.female_male.value != "+") {
reg_error.innerHTML  = "Пол не указан";
}
if (reg_error.innerHTML  == "") return true;
if (reg_error.innerHTML  != "") return false;
}

Сделал вот так, все равно что-то не работает,не знаю что
Ответить с цитированием
  #6 (permalink)  
Старый 25.11.2013, 22:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Сообщение от Apelcun77
document.feedback.firstname_check.value
нет ни такого элемента document.feedback.firstname_check нет ни такого значения value


function checkForm() {
  var reg_error = document.getElementById("error_register");
  if (document.getElementById("firstname_check").innerHTML != "+") {
  reg_error.innerHTML  = "Имя заполнено неверно";
  };
  if (document.getElementById("email_check").innerHTML != "+") {
  reg_error.innerHTML  = "E-mail заполнен неверно";
  };
  if (document.getElementById("female_male").innerHTML != "+") {
  reg_error.innerHTML  = "Пол не указан";
  };
  if (reg_error.innerHTML  == "") return true;
  if (reg_error.innerHTML  != "") return false;
  }


точно ли тут пусто у вас или пробел ???
<span id="error_register"> </span>
Ответить с цитированием
  #7 (permalink)  
Старый 26.11.2013, 14:27
Аспирант
Отправить личное сообщение для Apelcun77 Посмотреть профиль Найти все сообщения от Apelcun77
 
Регистрация: 14.11.2013
Сообщений: 37

РОни, там пусто <span id="error_register"></span>
function checkForm() {
var reg_error = document.getElementById("error_register").innerHTML = "";
var firstneme_check = document.getElementById("firstname_check");
var email_check = document.getElementById("email_check");
var female_male = document.getElementById("female_male");
if (firstneme_check  != "+") {
reg_error.innerHTML  = "Имя заполнено неверно";
}
if (email_check != "+") {
reg_error.innerHTML  = "E-mail заполнен неверно";
}
if (female_male != "+") {
reg_error.innerHTML  = "Пол не указан";
}
if (reg_error == "") return true;
if (reg_error != "") return false;
}

Вот сделал так, все равно не получается я уже не нзаю что делать, как я понял условия не хотят сравниваться,не знаю почему.

Последний раз редактировалось Apelcun77, 26.11.2013 в 14:59.
Ответить с цитированием
  #8 (permalink)  
Старый 26.11.2013, 14:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Сообщение от Apelcun77
document.getElementById("error_register").text
откуда вы взяли это? вся строка 2 бред
Ответить с цитированием
  #9 (permalink)  
Старый 26.11.2013, 14:59
Аспирант
Отправить личное сообщение для Apelcun77 Посмотреть профиль Найти все сообщения от Apelcun77
 
Регистрация: 14.11.2013
Сообщений: 37

Я изменил, просто скопировал суда немного другое, вот так тоже не работает ничего
Ответить с цитированием
  #10 (permalink)  
Старый 26.11.2013, 15:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Apelcun77,
я вам дал рабочий код и он работает!!!-- сделайте рабочими вашу форму и остальные скрипты .
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Авторизация на "большом" и мобильном сайте iwasborntobleed Мобильный JavaScript 2 30.06.2013 11:35
Ввод текста и нажатие кнопки на другом сайте автоматически Trizael Общие вопросы Javascript 3 25.04.2013 15:59
обратный счетчик на сайте progns Элементы интерфейса 13 09.02.2012 00:05
Сервисы для реализации оплаты кредитками на сайте. nyols Серверные языки и технологии 1 29.05.2011 13:44