Не могу получить class и параметр iid
Привет всем вот у меня задачка и я грузанулся.
Я делаю современную форму регистрации как в http://affiliates.marathonbet.com/Re...ion/Registrate В общем я уже все написал только вот осталось немного Мне нужно понять что если клик произошел вне полей <div class="form_input"></div> то заменить все "form_input activ" на "form_input" Но чтобы у меня правильно все сработало необходимо получить параметры class="form_input" и iid="1" А получается так я могу получить ID но не могу получить остальные данные. Я не гуру но искал в гугле читал минуалы но толком не нашел. Может подскажите пример или продемонстрируете скрипт рабочий. Заранее спасибо. <form id="shablon_registration_1"> <div class="form_input" id="form-input-1" iid="1"> <label>Имя</label> <input id="form_input_input-1" type="text" name="" oninput="formoninput(1)"/> <span class="err"></span> </div> <div class="form_input" id="form-input-2" iid="2"> <label>Фамилия</label> <input id="form_input_input-2" type="text" name="" iid="2" oninput="formoninput(2)"/> <span class="err"></span> </div> <div class="form_input" id="form-input-3" iid="3"> <label>Фамилия</label> <input id="form_input_input-3" type="text" name="" iid="3" oninput="formoninput(3)"/> <span class="err"></span> </div> <div class="form_input" id="form-input-4" iid="4"> <label>Фамилия</label> <input id="form_input_input-4" type="text" name="" iid="" oninput="formoninput(4)"/> <span class="err"></span> </div> </form> $(document).ready(function() { /* $('.form_input').click(function() { var iid = $(this).attr("iid"); var clas = $(this).attr("class"); //alert(clas); $('.form_input').removeClass('form_input activ').addClass('form_input'); $('#form-input-'+ iid).removeClass('form_input').addClass('form_input activ'); });*/ document.onclick = function( e ) { //var element = e.srcElement || e.target; // узнаешь id элемента на который кликнули //id_element = element.id; //val_element = element.getAttributeNode("class"); //clas = document.getElementById(id_element).getAttributeNode("class").value; // var iid = $(this).attr("iid"); var clas = $(this).attr("class"); alert(clas+' '+iid); //clas = document.getElementById(id_element).attr("class"); //alert(clas+' '+id_element+' '+ val_element); //iid = document.getElementById(id_element).attr("iid"); if (clas=='form_input'){ $('.form_input').removeClass('form_input activ').addClass('form_input'); $('#form-input-'+ iid).removeClass('form_input').addClass('form_input activ'); }else{ $('.form_input').removeClass('form_input activ').addClass('form_input'); } }; //$(document).mouseup(function (e) { }); |
Цитата:
http://javascript.ru/forum/events/66...gom-meste.html В одном из примеров я показываю один из вариантов проверок такого рода... ;) |
Очень помог Ваш метод по работе с "убрать при клике в другом месте"
$('.form_input').click(function() { var iid = $(this).attr("iid"); var clas = $(this).attr("class"); $('.form_input').removeClass('form_input activ').addClass('form_input'); $('#form-input-'+ iid).removeClass('form_input').addClass('form_input activ'); $('.form_zapis form_input').removeClass('form_zapis'); <-- Не срабатывает $('.form_input form_zapis').removeClass('form_zapis'); <-- Не срабатывает setTimeout(function (){ $('body').click(function(){ $('.form_input').removeClass('form_input activ').addClass('form_input'); $('.form_zapis form_input').removeClass('form_zapis'); <-- Не срабатывает $('.form_input form_zapis').removeClass('form_zapis'); <-- Не срабатывает }); }); return false; }); Но у меня теперь появилась проблема Косяки с классами Почему то Объединяет 2 класса ВОТАК "form_zapis form_input" Как можно сделать проверку в документе на эту проблему и исправить на "form_input" |
biryukovm, у тебя странные селекторы... :blink:
Цитата:
form_input form_zapis нет в "стандартном наборе"... :no: |
ksa,
Ну а вообще возожно это как то выловить ? потому что когда делаем запрос на var clas = $(this).attr("class"); Потом можно сравнивать через if Или только цыклом это делать ? |
Цитата:
Ты видел мои тестовые примеры... Там же есть примеры другого форумчанина... Тебе нужно сделать свой пример и на нем объяснить свою проблему. Может тогда найдутся желающие тебе что-то показать... А пока даже проблемы твои непонятны. |
Цитата:
|
Прекрасно срабатывает
<script src='http://code.jquery.com/jquery-latest.js'></script> <div class="form_input form_zapis"></div> <div class="form_zapis form_input"></div> <script> $('.form_input').removeClass('form_zapis'); </script> |
Тоячняк забыл что так надо указывать
Я тут завершил ребята делюсь своими наработками как делать современную форму регистрации <form id="shablon_registration_1"> <div class="form_input" id="form-input-1" iid="1"> <label>Имя</label> <input id="form_input_input-1" type="text" name="" oninput="formoninput(1)"/> <span class="err"></span> </div> <div class="form_input" id="form-input-2" iid="2"> <label>Фамилия</label> <input id="form_input_input-2" type="text" name="" iid="2" oninput="formoninput(2)"/> <span class="err"></span> </div> <div class="form_input" id="form-input-3" iid="3"> <label>Фамилия</label> <input id="form_input_input-3" type="text" name="" iid="3" oninput="formoninput(3)"/> <span class="err"></span> </div> <div class="form_input" id="form-input-4" iid="4"> <label>Фамилия</label> <input id="form_input_input-4" type="text" name="" iid="" oninput="formoninput(4)"/> <span class="err"></span> </div> </form> <script type="text/javascript"> function formoninput(iid){ var clas = $('#form-input-'+ iid).attr("class"); var input = document.getElementById('form_input_input-'+ iid); $('.form_input').removeClass('form_input activ').addClass('form_input'); if (input.value.length > 0){ $('#form-input-'+ iid).removeClass('form_input activ').addClass('form_zapis'); }else{ $('#form-input-'+ iid).removeClass('form_zapis').addClass('form_input activ'); } }; $(document).ready(function() { $('.form_input').click(function() { var iid = $(this).attr("iid"); var clas = $(this).attr("class"); $('.form_input').removeClass('form_input activ').addClass('form_input'); if (clas!='form_zapis'){$('#form-input-'+ iid).removeClass('form_input').addClass('form_input activ');} setTimeout(function (){ $('body').click(function(){ $('.form_input').removeClass('form_input activ').addClass('form_input'); }); }); return false; }); }); </script> <style type="text/css"> <!-- #shablon_registration_1{ } #shablon_registration_1 .form_zapis{ border: 1px solid #adadad; position: relative; border-radius: 8px; padding: 0; transition: all 100ms ease-in-out; margin: 1.5em 0.5em 0.5em 0.5em; box-shadow:0 0 3px 0 #00bff3; border-color:#2edfff; } #shablon_registration_1 .form_zapis label { position: absolute; left: 0; background-color: #fff; margin-left: 15px; font-weight: 400; padding: 0 3px; transition: all 100ms ease-in-out; cursor: text; display: inline-block; max-width: 100%; margin-bottom: 5px; font-size: 14px; z-index: 15; top: -14px; color: #00bff3; } #shablon_registration_1 .form_zapis label:after { content: "*"; color: #00bff3; line-height: 18px; vertical-align: super; } #shablon_registration_1 div.form_input{ border: 1px solid #adadad; position: relative; border-radius: 8px; padding: 0; transition: all 100ms ease-in-out; margin: 1.5em 0.5em 0.5em 0.5em; } #shablon_registration_1 div.form_input.activ{ box-shadow:0 0 3px 0 #00bff3; border-color:#2edfff; } #shablon_registration_1 div.form_input label{ position: absolute; top: 3px; left: 0; color: #adadad; background-color: #fff; margin-left: 15px; font-weight: 400; padding: 0 3px; transition: all 100ms ease-in-out; cursor: text; display: inline-block; max-width: 100%; margin-bottom: 5px; } #shablon_registration_1 div.form_input label:after { content: "*"; color: #ca2029; line-height: 18px; vertical-align: super; } #shablon_registration_1 div.form_input.activ label:after { color: #00bff3; } #shablon_registration_1 div.form_input.activ label{ font-size: 14px; z-index: 15; top: -14px; color: #00bff3; } #shablon_registration_1 div.form_input input, #shablon_registration_1 div.form_zapis input{ border: 0; outline: 0; margin: 0; display: block; z-index: 10; color: #000; font-size: 14px; border-radius: 8px; width: 100%; height: 34px; padding: 6px 12px; -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075); box-shadow: inset 0 1px 1px rgba(0,0,0,.075); -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s; -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; } #shablon_registration_1 div.form_input input:focus { box-shadow: 0 0 8px rgba(102,175,233,.6),inset 0 0 0 50px #fff; .form-control:focus { border-color: #66afe9; outline: 0; -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6); box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6); } #shablon_registration_1 div.form_input span.err{ max-width: 90%; color: #ca2029; font-size: 14px; line-height: 15px; padding-left: 10px; margin-top: -5px; display: none; min-height: 15px; text-align: left; } --> </style> |
Часовой пояс GMT +3, время: 01:13. |