2009-07-22 11 views
2

Wenn ich Verwischen Funktion auf Textbox zu überprüfen, doppelte Namen mit Jquery Ajax funktioniert gut.jquery ajax- Wie überprüft man doppelte Namen

Hier Code:

function duplicate(data){ 
    //alert(data); //successfully gives the value from the text input 
    $.post("test.php", {name: data}, function (data){ 
     if(data){ 
      alert('duplicate name'); 
     } 
    }); 
} 

$(function() { 
    $("#name").blur(function(){ 
     var data = $("#name").val(); 
     duplicate(data); 
    }); 
}); 

Das Problem ist, es Warnmeldung anzeigen, in einigen Fällen wir mit doppelten Namen selbst einreichen, so dass keine Verwendung gibt es doppelte Kontrolle.

Lassen Sie mich wissen, die Lösung zu überprüfen, doppelte Namen mit onsubmit-Funktion (jquery Ajax oder Javascript).

+0

was genau test.php Rückkehr? – DLH

+0

Hier die test.php: $ name = $ _POST ['name']; \t if ($ name == 'test') { \t \t echo "Doppelter Name"; \t} sonst { \t \t echo "Kein Duplikat"; \t} Wenn es kein Duplikat ist, dann speichere ich den Namen in den Datensatz mit PHP-Code. – Murugesh

Antwort

3

Ihre Frage ist verwirrend, da Sie den gleichen Variablennamen data außerhalb Ihrer Anfrage sowie im Request-Callback verwenden.

Ich bin mir nicht sicher, ob Sie nach Duplizierung auf der Grundlage bereits gesendeter Daten suchen und wieder auf der Seite sind, Daten, die auf dem Server vorhanden sind, oder wenn die Daten einfach "Ja" sind.

Basierend auf dem Code, den Sie zur Verfügung gestellt, wäre es erscheinen dass Daten dupliziert werden soll, wird in Betracht gezogen, wenn der Server yes sobald die POST abgeschlossen ist zurück.

So oder so, vielleicht wird dies dazu beitragen:

$(function() { 
    $('#name').blur(function() { 
    duplicate($('#name').val()); 
    }); 
}); 

function duplicate(sData) { 

    var sDuplicateValue = ...; // assign this whatever constitutes a duplicate value 
    if(isDataDuplicate(sData, sDuplicateValue)) { 
    // you have duplicate data 
    } 

    $.post('test.php', { name: sData }, function(sResposeData) { 

    /* because of question ambiguity, i don't know if you want to compare 
    * sData and sResponseData, or sResponseData and "yes." if it's the latter, 
    * just do isDataDuplicate(sResponseData, "yes"); otherwise, do this: 
    */ 

    if(isDataDuplicate(sData, sResponseData) { 
     // it's the same.. 
    } 
    }); 

} 

function isDataDuplicate(sData, sDuplicateValue) { 
    if(sDuplicateValue === null) { 
    return sData === 'yes'; 
    } else { 
    return sData === sDuplicateValue; 
    } 
} 
1

ich etwas tun werde:

$(function() { 
    $("#name").blur(function(){ 
     var value = $("#name").val(); 
     $.post(
      "checkDuplicates.php", 
      { name: value}, 
      function (data){ 
       if(data.response === 'yes'){ 
        $("#name").css({ 
         'border': '1px red solid' 
        }).parent().append('This name already exists'); 
       } else { 
        return false; 
       } 
      }, 
      'json' 
     ); 
    }); 
}); 
Verwandte Themen