Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.08.2011, 12:35
Аспирант
Отправить личное сообщение для NeoMurderer Посмотреть профиль Найти все сообщения от NeoMurderer
 
Регистрация: 16.02.2011
Сообщений: 98

Не получается сделать условие
Скажите как сделать так что бы при условии например return false; событие $("#submit").click(function() {} неактивировалось а есть возвращает true тогда всё ишло бы нормально
Ответить с цитированием
  #2 (permalink)  
Старый 03.08.2011, 12:48
Аватар для SkyLight
Злюка-бобер
Отправить личное сообщение для SkyLight Посмотреть профиль Найти все сообщения от SkyLight
 
Регистрация: 21.03.2010
Сообщений: 438

Непонятно. Вы же сами дали ответ на свой вопрос. Если return true, то действие пойдет дальше, а если вернуть false, то обработка прекратится. Например, если в обработчике onsubmit вернуть false, то сабмита формы не будет и т.д.
__________________
In WEB We Trust
У всех есть своя темная сторона...
Ответить с цитированием
  #3 (permalink)  
Старый 03.08.2011, 12:57
Аспирант
Отправить личное сообщение для NeoMurderer Посмотреть профиль Найти все сообщения от NeoMurderer
 
Регистрация: 16.02.2011
Сообщений: 98

Вот смотрите у меня есть два кода(даю урывки)
Вот первый код
function validate(form_name)
   {
      \\Тут кож проверки валидности
       if (!reg.test(email.value)) {
      email.style.backgroundColor="red";
      text.innerText=str;
      email.focus();
      return false;
       }
       else {document.forms(form_name).submit();}
   }

И вот второй
$(function() {
    refresh_shoutbox();
    setInterval("refresh_shoutbox()", 15000);

    $("#submit").click(function() {
        var name    = $("#name").val();
		 var email    = $("#email").val();
        var message = $("#message").val();
		var ip = $("#ip").val();
        var data            = 'name='+ name +'&message='+ message + '&email='+ email+ '&ip='+ ip;

        $.ajax({
            type: "POST",
            url: "shoutbox/shout.php",
            data: data,
            success: function(html){
                $("#shout").slideToggle(500, function(){
                    $(this).html(html).slideToggle(500);
                    $("#message").val("");
                });
          }
        });    
        return false;
    });
});

Как сделать так что бы второй код выполнялся только тогда когда в первом нету return false;
Ответить с цитированием
  #4 (permalink)  
Старый 03.08.2011, 13:04
Аватар для SkyLight
Злюка-бобер
Отправить личное сообщение для SkyLight Посмотреть профиль Найти все сообщения от SkyLight
 
Регистрация: 21.03.2010
Сообщений: 438

Если я правильно понял, то в первом куске идет валидация формы, а во втором - ее сабмит по кнопке. Только вот непонятно, в каком месте у вас происходит эта самая валидация? В коде я этого не увидел.
__________________
In WEB We Trust
У всех есть своя темная сторона...
Ответить с цитированием
  #5 (permalink)  
Старый 03.08.2011, 13:13
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

мб так
if (validate('my_form'))
   // Bla bla bla
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #6 (permalink)  
Старый 03.08.2011, 13:26
Аспирант
Отправить личное сообщение для NeoMurderer Посмотреть профиль Найти все сообщения от NeoMurderer
 
Регистрация: 16.02.2011
Сообщений: 98

Короче вот весь код
function validate(form_name)
   {
       var form_=document.getElementById(form_name);
       var str='Неправильный адрес!!!';
       var text=document.getElementById("incorrect_mail");
       var email=document.forms[form_name].email;
       var reg= new RegExp("[0-9a-z_]+@[0-9a-z_^.]+\\.[a-z]{2,3}", 'i')
       if (!reg.test(email.value)) {
      email.style.backgroundColor="red";
      text.innerText=str;
      email.focus();
      return false;
       }
       else {return true;}
   }
$(function() {
    refresh_shoutbox();
    setInterval("refresh_shoutbox()", 15000);

    $("#submit").click(function() {
        var name    = $("#name").val();
		 var email    = $("#email").val();
        var message = $("#message").val();
		var ip = $("#ip").val();
        var data            = 'name='+ name +'&message='+ message + '&email='+ email+ '&ip='+ ip;

        $.ajax({
            type: "POST",
            url: "shoutbox/shout.php",
            data: data,
            success: function(html){
                $("#shout").slideToggle(500, function(){
                    $(this).html(html).slideToggle(500);
                    $("#message").val("");
                });
          }
        });    
        return false;
    });
	
});
Ответить с цитированием
  #7 (permalink)  
Старый 03.08.2011, 13:29
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

$("#submit").click(function() {
   if (!validate('my_form'))
      return;
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сделать дополнительное условие marlic Элементы интерфейса 4 30.06.2011 17:20
dataTables + jeditable не получается сделать поля редактируемыми alekslkta Элементы интерфейса 0 02.05.2011 16:17
dataTables + jeditable не получается сделать поля редактируемыми alekslkta jQuery 0 01.05.2011 23:53
Помогите сделать такое меню(( Lilith Я не знаю javascript 2 02.06.2009 02:31
Не получается сделать редирект ... autobuh Общие вопросы Javascript 1 23.12.2008 17:17