Сообщение от ksa
|
Если форма отправляется - ты уже *не теряешь управление...
|
да, я уже это понял (*теряешь -очепятка))
Сообщение от ksa
|
Не делай обработку кнопки submit. Более оптимальный вариант - все делать в onsubmit формы.
|
ksa, можно подробней или пример.
Я понял, что без preventDefault не обойтись, сделал так:
<div id="ddd" style="border: 1px solid #CCCCCC; width:50px; height:100px; background:#f00; margin-bottom: 10px;"></div>
<form action="#" method="post" name="ckform">
<p>Имя</p> <input type="text" class="validate" name="name"/>
<p>Email</p> <input type="text" class="validate" name="email"/>
<p>Сообщение</p><textarea name="message" rows="6" cols="25"></textarea><br />
<input name="submit_bt" id="submit_bt" class="buttonRED" style="background:#ccc; padding:8px 10px;" type="submit" value="Отправить" />
</form>
<script type="text/javascript">
function cancelEvent(event) { //IE
if (event.preventDefault) {
event.preventDefault();
} else {
event.returnValue = false;
}
}
$("#submit_bt").live("click", function(){
var name = $(".validate").val();
if (name == "") {
$(".validate").addClass('fc-error');
}else{
$(".validate").removeClass('fc-error');
};
check();
});
function check(event){
if($(".fc-error").length > 0){
//alert("err");
}else{
event.preventDefault();
var self = this;
//alert("NO err");
$("#submit_bt").attr('value', 'Форма отправляется');
$("#submit_bt").prop('disabled', true);
$("#ddd").animate({'width':'590'},2500, function(){ self.form.submit(); });
};
};
</script>
Передаю значение функции check в другую функцию (которая с кликом), в итоге preventDefault не работает. Если все сделать в одной функции, тогда все ОК. Но нужно именно значение одной функции, передать в другую. Это возможно?