Не получается сделать условие
Скажите как сделать так что бы при условии например return false; событие $("#submit").click(function() {} неактивировалось а есть возвращает true тогда всё ишло бы нормально
|
Непонятно. Вы же сами дали ответ на свой вопрос. Если return true, то действие пойдет дальше, а если вернуть false, то обработка прекратится. Например, если в обработчике onsubmit вернуть false, то сабмита формы не будет и т.д.
|
Вот смотрите у меня есть два кода(даю урывки)
Вот первый код 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; |
Если я правильно понял, то в первом куске идет валидация формы, а во втором - ее сабмит по кнопке. Только вот непонятно, в каком месте у вас происходит эта самая валидация? В коде я этого не увидел.
|
мб так
if (validate('my_form')) // Bla bla bla |
Короче вот весь код
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; }); }); |
$("#submit").click(function() { if (!validate('my_form')) return; |
Часовой пояс GMT +3, время: 22:55. |