2016-12-07 7 views
1

Я хотел бы запустить функцию на моей форме представить (утвердите рамках Фонда):preventDefault о представлении формы

$($newsletter).on('formvalid.zf.abide', function(ev) { 
    ev.preventDefault(); 
    alert('validate!'); 
    openRevealNewsletter(this.getAttribute('action')); 
}); 

Я мое уведомление, когда моя форма действительна, но мой preventDefault() не работает , Моя форма была отправлена ​​:(

+0

Попробуйте использовать «return false»; –

+0

, чтобы предотвратить получение формы из ** submit **, вам необходимо предотвратить обнаружение события ** submit ** - возможно, –

+0

ev.stopPropagation(); повторное ложное; – Rossitten

ответ

1

Intercept Подавать с submit события.

$($newsletter).on("submit",function(e) { 
    e.preventDefault(); 
    console.log("submit intercepted"); 
    return false; 
}); 
$($newsletter).on("forminvalid.zf.abide", function(e,target) { 
    console.log("form is invalid"); 
    //show error messages 
}); 
$($newsletter).on("formvalid.zf.abide", function(e,target) { 
    console.log("form is valid"); 
    //process form 
    openRevealNewsletter(this.getAttribute('action')); 
}); 
+0

, который всегда предотвращал бы выполнение представления ... что, если форма действительна: p –

+0

Я полагаю, что OP хочет предотвратить дефолт и что-то делать с javascript. 'openRevealNewsletter (this.getAttribute ('action'));' – sabithpocker

+0

oh yeah ... но только в том случае, если форма действительна (я ее неправильно прочитал) –

1

Пожалуйста, попробуйте следующее:

$($newsletter).on('formvalid.zf.abide', function(ev) { 
    alert('validate!'); 
    openRevealNewsletter(this.getAttribute('action')); 
    return false; 
}); 

Это остановит форму пост на ложном возвращаемого значения

При использовании return false, автоматически он делает 3 отдельные вещи. когда вы это называете:

1.event.preventDefault();

2.event.stopPropagation();

3.Stops callback execution and it returns immediately when callback are called.

0

прежде всего легкий способ сделать эту работу, это использовать

<button type="button">submit</button> 

вместо

<button type="submit">submit</button> 

представить форму программно в использовании сценария Java

 document.getElementById("FormID").submit(); 

это предоставит вам r, когда вы вызываете этот скрипт, также предотвратите дефолт, не потребуется, как только вы замените submit с кнопкой в ​​кнопке отправки

 Смежные вопросы

  • Нет связанных вопросов^_^