Ajax: getJSON TypeError: event.target.localName is null

messmar

Erfahrenes Mitglied
Morgen zusammen,

ich habe ein kleines Skript mit dem ich ein AjaxReqeust abschicke:
Code:
      <script>
            function checkMember(m, g){
                alert(m + ':' + g);
                var email = m;
                var id = g;
                var url = "membersearch.jsp?mail=" + email + "&id=" + id;
                
                alert(url);
                
                $.getJSON(url, function(data) {
                    console.log(data);
                    if (data.isMember) {
                        alert('member');
                        $('input[type=submit]').hide();
                    } else {
                        alert('not member');
                    }
                });
                return m, g;
            }
      </script>

Der HTML Code:
HTML:
    <form name="regsiter" action="danke.jsp" method="POST">
            <input type="hidden" name="id" value="3" />
            <br><br><br><br><br><br>
            <label style="display:block; float:left;">Email: </label>
            <input type="text" name="mail" value="" onblur="return checkMember($(this).val(), $('input[name=id]').val());" style="float:left; margin: 0 0 0 20px;" />
            <br><br>
            <input type="submit" name="submit" value="Submit" class="xxxx" />
     </form>

Der Ajax Request funktioniert soweit und ich erhalte die JSON als Response und bis zu diesem Punkt passt alles. Das Problem habe ich an die folgende Stelle:
Code:
       ....
       if (data.isMember) {
             alert('member');
             $('input[type=submit]').hide();
       } else {
             alert('not member');
       }
       ...

da bekomme ich über FireFox Error Console folgendes:
Error: TypeError: event.target.localName is null
Source File: jar:file:///C:/Users/AK186043/AppData/Roaming/Mozilla/Firefox/Profiles/snxl9jea.default/extensions /firegestures@xuldev.org.xpi!/components/xdGestureHandler.js
Line: 155

Was jQuery angeht, verwende die Version: jQuery v1.9.1

Ich vermute stark, dass irgendwas beim Einbinden bzw. Verwenden des EventHandlers in Email-Feld nicht passt... aber was genau? ;-(

Hat Jemand bitte eine Idee, woran es liegen könnte?

Vielen Dank und Gruß
Messmar
 
Sorry,

gelöst... der Bug war in der
Code:
membersearch.jsp
Datei bzw. in dem JSON file.

Aber jetzt folgednes:

Ich möchte jetzt den EventHadler dem Button zuzuweisen, und dann bei Vorhandem
User,
Code:
false
zurückgeben... return false wird leider ignoriert - so zusagen - :

Code:
$(document).ready(function() {
        $('.btnSubmit').click(function(){
                return checkMember ($('input[name=mail]').val(), $('input[name=id]').val());
       });
});

...
$.getJSON(url, function(data) {
       console.log(data);
       if (data.isMember) {
             alert('Nutzerkonto bereits vorhanden');
             return false;
       } else {
             $('input[type=submit]').attr('disabled', false).css('cursor', 'pointer');
       }
});
...

Irgendeine Idee bitte?

Danke
Messmar
 
Hi, ich bin s wieder ;-)

Ich habe jetzt eine Lösung und sie funktioniert... nur die gefällt mir nicht ganz.

Folgednes:

in der If-Abfrage habe ich return foelgendermassen gebaut:

Code:
$.getJSON(url, function(data) {
        console.log(data);
          if (data.isMember) {
                alert('Nutzerkonto bereits ************************ vorhanden');
                $('form').submit(function () { return false; });
                window.location.reload();
         } else {
               $("#mbNews").submit();
        }
});

EventHandler:

Code:
$(document).ready(function() {
       $('.btnSubmit').click(function(){
              return checkMember ($('input[name=email]').val(), $('input[name=id]').val());
       });
});

Ich musste das hier:
Code:
window.location.reload();
einfügen, da sonst, wenn der User/Email exisitiert, die Email im Feld ändert, und die neue eigegeben Email nicht vorhanden ist, das Form wieder nicht abgeschickt wird.

ich musste in diesem Fall die Seite refreshen, damit es wieder geht - so zusage - !

Für bessere Vorschläge bin aber Dankbar!

Gruß
Messmar
 
Zurück