Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: onfocusout con jquery

  1. #1
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592

    onfocusout con jquery

    Salve, sto cercando di scrivere una funzione che devo utilizzare per cancellare o lasciare intatto un campo form.
    Praticamente l'utente scrive una cosa in un campo e quando esce da questo campo faccio una query con jquery che controlla se nel DB esiste almeno un risultato e mi torna il valore di mysql_num_rows.
    A questo punto se il valore è > 0 ok, ma se è 0 devo cancellare quello che ha scritto nel campo form..
    Vado con il codice che NON funziona
    <input id="client_nome" type="text" name="client_nome" value="" />
    il codice jquery
    $('#client_nome').focusout(function(){
    var client_nome= $("#client_nome").val();
    $.ajax({
    type: 'post',
    url: 'ricerca_nome_esistente.php',
    client_nome: client_nome,
    success: function(result) {
    alert(msg);
    },

    });
    });

    alla fine il mio php mi restituisce questo:
    $msg = $num_rows;


    per adesso mi sono fermato ad "alert(msg)" ma non funziona nemmeno quello

    ringrazio chiunque mi possa dare una mano

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    E se usi alert(result) cosa ti mostra?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    Prova con .blur() invece di .focusout()

  4. #4
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    E se usi alert(result) cosa ti mostra?
    ignora completamente l'alert..

  5. #5
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    Quote Originariamente inviata da lnessuno Visualizza il messaggio
    Prova con .blur() invece di .focusout()
    facendo
    $('#client_nome').blur(function(){
    stesso risultato.. ignora tutto, non succede nulla

  6. #6
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    Controlla la chiamata AJAX che stai facendo, non passi i parametri nel modo corretto.

    http://jsbin.com/yebufeyewu/edit?html,js,output

    Ti serve qualcosa tipo:

    codice:
    data: {'cliente': client_nome},

  7. #7
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    Quote Originariamente inviata da lnessuno Visualizza il messaggio
    Controlla la chiamata AJAX che stai facendo, non passi i parametri nel modo corretto.

    http://jsbin.com/yebufeyewu/edit?html,js,output

    Ti serve qualcosa tipo:

    codice:
    data: {'cliente': client_nome},
    guarda nello stesso gestionale che ho ereditato ho dozzine di files che funzionano senza gli apici..
    li ho messi ma NADA.. ignora del tutto quello che faccio..
    il php è giusto perchè se cambio da POST a GET e richiamo la pagina "secca" il risultato è giusto (mi da il numero di righe della query)
    ho anche cambiato l'ultima riga con l'echo in
    $ok = $num_rows;
    echo json_encode($ok);
    ho anche aggiunto
    header('Content-Type: application/json');
    come me lo "porto" il risultato "$ok" nella pagina php?

  8. #8
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    Non è questione di apici ma di parametri:

    Tu hai
    client_nome: client_nome,

    devi usare qualcosa tipo
    data: {'client_nome': client_nome},

  9. #9
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    scusami.. avevo recepito il tuo messaggio e ovviamente è già così..
    $('#client_nome').focusout(function() {
    $.ajax({
    type: 'post',
    url: 'ricerca_nome_esistente.php',
    data: {'client_nome': client_nome},
    success: function(msg) {
    alert(client_nome);
    },
    error: function() {
    alert("aa");
    }
    });
    });

    l'ultima versione è questa ma non succede nulla

  10. #10
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    ho cambiato le ultime righe così:
    $ok["riga"] = $num_rows;
    echo json_encode($ok);
    e l'output se metto GET invece di POST è giusto:
    riga:20 o 10 o 0 a seconda del parametro in GET..
    mi chiedo a questo punto se esegua qualcosa da qua
    $('#client_nome').focusout(function() {
    o così..
    $('#client_nome').blur(function() {

    boh..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.