Javascript.RU

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

Как имитировать .click
Всем привет!
Помогите пожалуйста разобраться с кодом
else {
$(document).ready(
function()
{
$('#spisok > input').click(function (){
$('#container > div').hide();
var i=$(this).data('id');
$('#d'+i).fadeIn();
});
}
);
form.submit();
}

<p id="spisok"><input data-id='2' type=submit class="btn_submit" value='Продолжить'></p>

Этот код работает если только 2 раза нажать на 'Продолжить', а надо чтобы сразу.
Ответить с цитированием
  #2 (permalink)  
Старый 10.09.2015, 13:16
Аспирант
Отправить личное сообщение для nesnayka Посмотреть профиль Найти все сообщения от nesnayka
 
Регистрация: 06.09.2015
Сообщений: 61

Во-первых, проблема в том, что $(document).ready( ) у вас стоит внутри условия, а должна быть непосредственно в теле тега script.
Получается, что есть какое-то условие (которое вы не полностью дали), которое судя по всему выполняется по нажатию кнопки. Вот и получается, что сначала, после первого клика, объявляется функция, которая внутри $(document).ready() написана, а потом, после второго, она выполняется.
Если непонятно, что нужно исправить, то дайте хотя бы побольше кода. )
Ответить с цитированием
  #3 (permalink)  
Старый 10.09.2015, 13:35
Новичок на форуме
Отправить личное сообщение для anastasia21 Посмотреть профиль Найти все сообщения от anastasia21
 
Регистрация: 10.09.2015
Сообщений: 2

(function( $ ){
$(function() {
$('.rf').each(function(){
var form = $(this),
btn = form.find('.btn_submit');
form.find('.rfield').addClass('empty_field');
function checkInput(){
form.find('.rfield').each(function(){
if($(this).val() != ''){
$(this).removeClass('empty_field');
} else {
$(this).addClass('empty_field');
}
});
}
function lightEmpty(){
form.find('.empty_field').css({'border-color':'#d8512d'});
setTimeout(function(){
form.find('.empty_field').removeAttr('style');
},500);
}
setInterval(function(){
checkInput();
var sizeEmpty = form.find('.empty_field').size();
if(sizeEmpty > 0){
if(btn.hasClass('disabled')){
return false
} else {
btn.addClass('disabled')
}
} else {
btn.removeClass('disabled')
}
},500);
btn.click(function(){
if($(this).hasClass('disabled')){
lightEmpty();
return false
} else {
$(document).ready(
function()
{
$('#spisok > input').click(function (){
$('#container > div').hide();
var i=$(this).data('id');
$('#d'+i).fadeIn();
});
}
);
}
});	
});
});
})( jQuery );


<p id="spisok"><input data-id='2' type=submit class="btn_submit" value='Продолжить'></p>
Ответить с цитированием
  #4 (permalink)  
Старый 10.09.2015, 18:28
Аспирант
Отправить личное сообщение для nesnayka Посмотреть профиль Найти все сообщения от nesnayka
 
Регистрация: 06.09.2015
Сообщений: 61

То, что вы предоставили ни разу не работает. ))
Остается только догадываться, где элементы с классами rf, rfield и с ИД container, d1 находятся и как они должны взаимодействовать.
Весь JS - это хорошо, но когда нет HTML, то это становится похожим на прочтение инструкции по эксплуатации с кучей неизвестных терминов без самого устройства, которое собираемся эксплуатировать.

Например это:
$('.rf').each(function(){
var form = $(this),

Понятно, что перебирает все элементы с классом rf и потом присваивает их поочередно переменной form.
Много форм на странице?
Так может проще сделать onsumit для форм (возможно это значительно сократит код), чем отслеживать клик по кнопке в такое большой лесенке функций?

Так же непонятно зачем сделано это:
Обработчик клика по кнопке
btn = form.find('.btn_submit');
btn.click(function(){

});

А внутри него вставлен еще один обработчик клика по ней же:

$('#spisok > input').click(function (){

});

Давайте-ка весь код или ссылку на страницу.
Ответить с цитированием
  #5 (permalink)  
Старый 10.09.2015, 23:50
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сперва они имитируют клик, затем болезнь, а потом оргазм имитировать начнут

Чувствовать его нужно, чувствовать! Я про клик, конечно
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 10.09.2015 в 23:54.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
initComponent: Как получить данные родителя и как получить store для вызова load()? Пролетарий ExtJS 76 04.07.2015 09:22
Как сделать что бы картинки с другого url отображались как свои zlodey Серверные языки и технологии 1 04.05.2015 21:30
Как правильно реализовать такой функционал? Julian Общие вопросы Javascript 3 16.01.2015 12:34
Как сделать такую страницу mortido Элементы интерфейса 11 02.10.2014 07:20
Как писать код который легко поддерживать, расширять, читать. Policeman Общие вопросы Javascript 3 24.03.2012 05:40