2009-03-20 10 views
1

J'ai une petite forme où je veux que les valeurs à être mises à jour sur le changement de mes boîtes de sélection qui peut être fait avec:Les meilleures pratiques pour l'envoi de données AJAX via le formulaire - récupérer la valeur de retour

$("form#updateclient select").change(function(){ // use one selector for all 3 selects 
    $.post("inc/process-update.php",{ 
     // data to send 
     completed: $("select#completed").val(), 
     hours:  $("select#hours").val(), 
     update_id: $("#u_id").val(), 
     who:  $("select#who").val() 
    }, function(data) { 
     // do callback stuff with the server response 'data' here 
    }); 
}); 

Mais je un champ de texte d'entrée, où un utilisateur peut entrer le nombre d'heures, quand ils cliquent sur hors de la boîte puis envoyer cette demande AJAX à une page PHP.

Et le champ #complet est maintenant une case à cocher, est-ce que cela a été le même que celui d'une entrée? Comment cela fonctionnerait-il avec jQuery, donc si vous cochez ou décochez cette information et mettez à jour la base de données

La chose que j'ai essayé de rechercher maintenant est quelle est la meilleure façon de récupérer ces valeurs du serveur et les mettre à jour sur le page en utilisant AJAX. Donc, une fois que je mettrai à jour ma liste déroulante, elle gardera le même résultat.

Des idées?

+0

Désolé? Votre question est très confuse. –

Répondre

1

Et le champ #completed est maintenant une case à cocher, est-ce que cela a été le même en tant qu'entrée?

n ° est toujours la chaîne de la valeur = « ... » attribut (par défaut « on » si omis) s de .value (utilisé par la méthode val() jQuery) Une case à cocher, que ce est coché ou non. Pour obtenir la valeur effective d'une case à cocher, vous devez regarder la propriété '.checked'. par exemple.

var v= element.checked? element.value : ''; 

En outre, vous ne pouvez pas utiliser un gestionnaire onchange pour détecter quand une case à cocher est modifiée, comme IE ne se déclenche pas cet événement. Au lieu de cela, vous devez utiliser onclick pour cet élément.

Questions connexes