tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von rd4eva
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
867
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von mogmog
    mogmog mogmog ist offline Mitglied Brokat
    Registriert seit
    Oct 2005
    Ort
    Berlin
    Beiträge
    306
    Hallo zusammen ich habe mal wieder eine Frage,

    folgendes Problem ich möchte mit Hilfe ein von jQuery $.post() daten versenden nun habe ich aber folgendes Problem:
    man kann ja bei jQuery $.post() im 2 Parameter die Daten mitgeben und mit dem Dritten auswerten (anzeigen lassen).
    Ich habe aber folgendes Problem ich weiß nicht wie viele Formulare auf dieser Seite sind und was für inputfelder existieren.

    Also das ist dann mein Ansatz:
    HTML-Code:
    $("form").submit(function() {
    
            // form stamm daten
    	var form = $(this).attr('id');
    	var action = $(this).attr('action');
    
            // erstellen eines Arrays für die verschieden velder
    	var postName = [];
    	var postData = [];
    
            // jedes Feld dieses Formular durchsuchen
    	$("form#"+form+" input").each(function(){
                    // inhalte in die Arrays schreiben
    		postData.push($(this).val());
    		postName.push($(this).attr('name'));
    	});
    		
            // Daten versenden
    	$.post(action, {postName: postData}, function(data){
    		// auswertung ausgeben
    		$("#ausgabe").html(data);
    	}, 'POST');
    		
    	return false;
    });
    Nun zu meinem Problem. Da postName eine Array ist schickt jQuery die daten als Array weg. Was ich aber nicht möchte.
    Denn es kommt so etwas bei meiner PHP Datei an:
    PHP-Code:
    Array
    (
        [
    postName] => Array
            (
                [
    0] => inhalt1
                
    [1] => 42
                
    [2] => TRUE
            
    )


    Ich möchte aber das das dass dann so aussieht:
    PHP-Code:
    Array
    (
          [
    input_name_1] => inhalt1
          
    [input_name_2] => 42
          
    [input_name_3] => TRUE

    ich möchte auf die Daten normal zugreifen können mit "$_POST['input_name_1']" und nicht das in einem verschachteltem Numerischen Array haben wie es jetzt ankommt ("$_POST['postName'][0]").

    Ich konnte leider nichts mit google finden... ich habe nur gefunden das man so solche inhalte (Arrays) versendet.

    hat jemand eine Idee?

    mfg mogmog
     

  2. #2
    Avatar von rd4eva
    rd4eva rd4eva ist offline Mitglied Brillant
    Registriert seit
    Feb 2003
    Beiträge
    756
    Wenn ich dich richtig verstehe sollten serialize bzw serializeArray dir eine Menge arbeit ersparen.

    In der post() doku gibts auch ein Beispiel dazu:
    Code javascript:
    1
    
    $.post("test.php", $("#testform").serialize());
    mogmog bedankt sich. 
    In order to understand recursion, one must first understand recursion.

  3. #3
    Avatar von mogmog
    mogmog mogmog ist offline Mitglied Brokat
    Registriert seit
    Oct 2005
    Ort
    Berlin
    Beiträge
    306
    Tut mir echt Leid...

    Ich habe anscheinend in der Doku das mit dem serialize() überlesen ich habe auch noch mal nachgeschaut und ja es ist wirklich drinnen .

    Danke dir für die schnelle Antwort.
     

Ähnliche Themen

  1. Jquery $.post fehler keine Rückgabewert
    Von kramoo im Forum Javascript & Ajax
    Antworten: 12
    Letzter Beitrag: 09.01.11, 14:06
  2. jQuery und Post
    Von tsluga im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 12.03.10, 13:34
  3. jquery Post-Rückmeldung ausgeben
    Von Klopfer im Forum Coders Talk
    Antworten: 3
    Letzter Beitrag: 08.03.10, 08:37
  4. Problem mit $JQuery.ajax(...) POST Daten werden nicht gesendet
    Von marcel_t im Forum Javascript & Ajax
    Antworten: 8
    Letzter Beitrag: 03.03.10, 10:19
  5. Syntax Problem jquery load() mit Post-Variablen
    Von illetuffi im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 26.12.09, 10:50