Avatar billede frasa Juniormester
13. april 2022 - 13:34 Der er 3 kommentarer

Ved button click, tjek om validering er OK

Hejsa

Jeg kæmper lidt med at få en Succes Sweetalert til at komme frem hvis jeg har 2 krav der skal opfyldes. Kravene er at en function returns true samt at button is clicked.

Er der nogen der kan hjælpe mig videre?
Mit script som jeg kæmper med indtil videre ser sådan ud.

function submited() {
if (document.getElementById(overdragsubmit).clicked == true && validateForm == true) {
      Swal.fire({
            icon: 'success',
            title: 'Sådan...',
            timer: 2000,
            showCancelButton: 'true',
            cancelButtonText: 'OK',
            showConfirmButton: false,
            text: 'Din ordre er nu på vej. Tak!'
    }).then (function(){
      window.location.href = "index.php";
});
}
}
Avatar billede Henrik Hansen Forsker
13. april 2022 - 15:06 #1
Først...
Brug validateForm() eller tror javascript validateForm er en variabel
(husk din funktion skal return true; eller return false; for at det virker)

document.getElementById('overdragsubmit').addEventListener("click", function() {
this.setAttribute('data-was-clicked','yes');
}​);​

function submited() {
if (document.getElementById('overdragsubmit').getAttribute('data-was-clicked') == "yes" && validateForm() == true) {
. . .
Avatar billede frasa Juniormester
19. april 2022 - 07:46 #2
#1
Undskyld det sene svar. Blev beordret til en påske uden internet. :-)
Tak for info og kodehjælp. Det virker umiddelbart ikke. Min sweetalert popper ikke op selv om min form bliver submitted. Kan det være fordi at jeg bruger en Button til at submitte min form i stedet for et input af typen submit?
Avatar billede Henrik Hansen Forsker
19. april 2022 - 13:30 #3
Hvordan bliver din forms data submittet?

Med standard HTML bliver data i en form sendt til URL'en i action-attributten - hvorefter den side bliver indlæst.

Ellers kan form-data sendes i baggrunden vha. JS og AJAX.
I det tilfælde burde du vise SweetAlert ved success (data blev modtaget)
Du kan stadigvæk godt lave din SweetAlert i en funktion (som bliver kaldt, når data blev modtaget), og så bare kalde den funktion, fra submit-kodens success-callback.

Her vist med jQuery: https://www.digitalocean.com/community/tutorials/submitting-ajax-forms-with-jquery
https://code.tutsplus.com/tutorials/submit-a-form-without-page-refresh-using-jquery--net-59
https://www.w3docs.com/snippets/javascript/how-to-create-ajax-submit-form-using-jquery.html
Google og YouTube er fyldt med eksempler du måske kunne bruge noget at ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester