2010-12-15 4 views
0

J'ai un formulaire. je suis permettant à l'utilisateur d'ajouter des entrées supplémentaires en appuyant sur un bouton:envoyer des valeurs d'entrée créées dynamiquement à PHP en utilisant la requête get

$('#add_multi_item').click(function(){ 

       $('<input />').attr({'type':'text', 'id':'response_input_' + next_add_id}).appendTo('#multi_responses'); 
       next_add_id++; 
      }); 

et ma forme est soumis comme ceci:

$("#add_form").bind('submit', function(event){ 
     event.preventDefault(); 
     $.get('file.php', {poll_type_select: $("#poll_type_select option:selected").val(), question_input: escape($("#question_input").val()), type: "add_poll", user_id:user_id}, function(data) { 
        $('#added').show().html(data); 
        $('#added').hide(7000); 
        $('#question_input').val(''); 
        loadList(); 
       }); 
    }); 

Comment puis-je ajouter les valeurs d'entrée créées dynamiquement dans le get demande? Je suppose que certaines personnes utilisent des tableaux de noms pour poster, mais puis-je faire quelque chose de similaire? Aussi je pense que je vais devoir échapper() toutes les entrées avant de les envoyer pour éviter les erreurs lors de l'ajout à la base de données.

une option que je pensais était d'envoyer une seule valeur, une chaîne délimitée créée en utilisant quelque chose comme:

$("#multi_responses input").each(string+=escape($(this).val())+"delimiter"); 

mais je ne sais pas si c'est la meilleure façon. et si je fais cela, qu'est-ce qu'un délimiteur typique à utiliser?

merci.

+0

quelqu'un peut-il aider? – vee

Répondre

0

Ce qui est juste, il vous suffit de donner à ces entrées un attribut name, comme:

$('<input />').attr({'type':'text', 'id':'response_input_' + next_add_id, 'name': 'response_input[' + next_add_id + ']'}).appendTo('#multi_responses'); 
+0

Ajouter utiliser un POST au lieu d'un GET. Et permettre au formulaire par défaut de soumettre à faire sa chose. –

+0

Je suis d'accord avec la méthode POST, mais en fait, si vee veut faire une requête ajax, la bonne chose à faire est d'empêcher la soumission du formulaire - mais comme jm dit que POST serait meilleur. – ncuesta

+0

merci pour la réponse. donc je comprends cette partie maintenant, mais comment puis-je alors envoyer ce tableau de nom à travers ma demande get? cela ne fonctionne pas: 'multi_responses []': $ ("# add_form entrée [nom = réponse_input []]"). val(). – vee

Questions connexes