Avatar billede mccookie Seniormester
05. november 2015 - 11:56 Der er 2 kommentarer og
1 løsning

Function der tjekker brugernavn

Hej,

Jeg har en lille webformular hvor jeg opretter et brugernavn, forinden oprettelsen vil jeg gerne tjekke dette.

Jeg laver et AJAX kald og får 0 eller 1 retur - Ingen problemer med det

Mit problem er når jeg kalder min function, så tjekker den navnet og er der ingen med samme brugernavn - Så virker ALT efter hensigten!
Men er der allerede en med samme brugernavn, så laver den en alert og henstiller til at brugernavnet ændres. Jeg ændrer det som anmodet og så kaldes funktion påny - Men det er som at der hænger et eller andet, den melder fejl igen og først herefter registrer den at jeg har brugernavnet.

if(felt_in != 'brugernavn') 
                {
                  checkUsername(document.getElementById("brugernavn").value);                 
                  if (status == 1)
                  {
                      alarm++;                     
                      if(alarm == '1' && status == 1)
                      {
                          checkUsername(document.getElementById("brugernavn").value);
                          alert(status);
                          alarm--;
                          alert(document.getElementById("brugernavn").value); 
                          status == null;
                      } else
                      {
                          alarm = 0;
                          status == null;
                      }
                     
                  }
                }
Avatar billede Slater Ekspert
05. november 2015 - 12:58 #1
Alt for lidt information.

Hvad gør din checkUsername funktion? Hvor kommer felt_in, alarm og status variablerne fra og hvad indeholder de?

Hvad skal al den kode gøre? Umiddelbart, hvis du bare skal tjekke om et brugernavn findes, virker det som et problem der kan løses på tre linjer kode.

// AJAX-kald her
if (return_value == 1)
    alert('Brugernavn optaget, vælg et nyt.');

Hvad er formålet med alt det andet?
Avatar billede mccookie Seniormester
05. november 2015 - 14:00 #2
Hej,

Tror jeg har en idé om hvor problemet/udfordringen gemmer sig.

Jeg kalder en funktion "opretbruger()"
- Den kalder checkUsername og heri ligger der 2 function, og umiddelbart er det herfra jeg ikke kan få noget data retur!

        function checkUsername(str)
              {                                                               
                if (str=="")
                  {
                  document.getElementById("main").innerHTML="";
                  return;
                  }
                if (window.XMLHttpRequest)
                  {// code for IE7+, Firefox, Chrome, Opera, Safari
                  xmlhttp=new XMLHttpRequest();
                  }
                else
                  {// code for IE6, IE5
                  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
                  }
                xmlhttp.onreadystatechange=function()
                  {
                  if (xmlhttp.readyState==4 && xmlhttp.status==200)
                    {
                      alert('SVAR: ' + xmlhttp.responseText);                 
                      var status = 1000;
                      return status;                     
                    }               
                  }                                   
                xmlhttp.open("GET","/new_m5/ajax.validate.php?q="+str,true);
                xmlhttp.send();                         
                }
Avatar billede mccookie Seniormester
02. december 2015 - 14:40 #3
Hej,

Problemet skyldtes at der ligger en function indeni funktionen:

function()
                  {
                  if (xmlhttp.readyState==4 && xmlhttp.status==200)
                    {
                      alert('SVAR: ' + xmlhttp.responseText);                 
                      var status = 1000;
                      return status;                     
                    }               
                  }                                   

Løsningen blev ved at flyttet behandlingen ind i denne funktion - Alt virker
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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