Vinnaren i pepparkakshustävlingen!
2018-06-09, 20:50
  #1
Medlem
Jag har en förhandsgranskningsknapp i bootstrap 4. Jag vill visa valideringsfel om formuläret inte är giltig och visa ett modalfönster om formuläret är giltigt.

Jag har den här koden.
HTML-kod:
    $("#previewBtn").click(function(event) {
    //$("#exampleModal").modal("show");  //Fungerar om jag avkommenterar, en alert visas

    //Fetch form to apply custom Bootstrap validation
    var form = $("#order-form")
    //alert(form.prop('id')) //test to ensure calling form correctly

    if (form[0].checkValidity() === false) {
      event.preventDefault();
      event.stopPropagation();
    } else {
        //alert("Validated!"); //Fungerar om jag avkommenterar om formuläret är validerat
        $("#exampleModal").modal("show");   //Fungerar INTE om formuläret är validerat
    }
    form.addClass('was-validated'); 
  }) //validation end

Jag får ett valideringsfel om formuläret inte är giltigt.

Jag får modalfönstret om jag inte kommenterar den andra raden för att visa modal.

Men det modala fönstret fungerar inte under else om det inte finns några fel i valideringen.

alert (ovanför visa modal) fungerar i under else om det inte finns några fel i valideringen.

Hur kan jag visa modalfönstret om det inte finns några valideringsfel? Varför får jag en alert men inte modalt fönster om valideringen är utan fel? Använder jag samma kod för modalt fönster direkt under knappen ser jag att koden och det modala fönstret fungerar.
Citera
2018-06-09, 22:39
  #2
Medlem
Med bara den koden du visat så fungerar det som du tänkt det. Du gör något annat.
Exakt vad händer? Får du någon felutskrift?
Varför kör du
Kod:
      event.preventDefault();
      event.stopPropagation()
om du har valideringsfel på första elementet? Varför vill du inte propagera eventet?
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback