2016-04-09 7 views
1

Ich habe diesen Code, die ich verwende, Felder in einem Formular hinzufügen, wenn die Taste gedrückt wird:Javascript-Code trägt Form auf der gleichen Seite in Mozilla

$(".add-participant").on("click", function() { 
    event.preventDefault() 
    $(".participant.hidden").first().removeClass("hidden"); 
    if(!$(".participant.hidden").length) { 
    $(this).hide(); 
    } 
}); 

Ich habe die event.preventDefault() weil die Taste (hinzufügen zeigen Sie die Felder aus irgendeinem Grund an. Dies funktioniert auf Chrome/Edge/IE, aber auf Mozilla tut es aus irgendeinem Grund nicht. Formular versucht zu senden, anstatt dass die Felder eingeblendet werden. Irgendwelche Ideen, wie man das löst?

+0

Was ist der Typ der Schaltfläche senden? Wenn sein Typ = "submit" ist, mach es type = "button". –

+2

Könnte es sein, weil das 'Ereignis'-Objekt nicht definiert ist? Versuchen Sie, die Signatur des Handlers 'function (event) {' anstelle von 'function() {' zu machen. – hargasinski

+1

Es ist ein normaler '

Antwort

2

Das einzige Problem, das ich in Ihrem Code zu finden, ist, dass Ihre Veranstaltung nicht definiert ist. Ändern Sie Ihren Code leicht, um ein Ereignis wie folgt zu definieren:

$(".add-participant").on("click", function(event) { 
    event.preventDefault() 
    $(".participant.hidden").first().removeClass("hidden"); 
    if(!$(".participant.hidden").length) { 
    $(this).hide(); 
    } 
}); 

Dies sollte Ihr Problem lösen.

+0

Yup, das war das Problem, danke :) –

Verwandte Themen