2012-03-28 10 views
0

Ich versuche, ein Formular mit Ajax einzureichen. Hier ist meine komplette CodeAjax Buchung ein Formular gibt undefined Fehler

<?php 
    $wparent = "123"; 
    $method = "sms"; 
?> 

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("#post_<?php echo $wparent;?>").click(function(){ 
      $('#parentpost-<?php echo $wparent;?>').html('Loading.....'); 
      $("#parentpost-<?php echo $wparent;?>").load("<?php echo SITE_URL;?>new_ajax/post_reply.php", {message:$("[name=replynote]").val(), method:$("[name=method]").val(), parent:$("[name=parent]").val()}); //end 
     }); // end of the main click function 
    }); 
</script> 

<?php 
echo "<textarea name='replynote' ></textarea>"; 
echo "<input type=\"submit\" class=\"post_button\" id=\"post_$wparent\" value=\"post\" />"; 
echo "<input type=\"button\" class=\"cancel_button\" value=\"Cancel\" />"; 
?> 
<input type='hidden' name='parent' value='<?php echo $wparent;?>' /> 
<input type="hidden" name="method" value="<?php echo $method;?>" /> 

Wenn ich die Post Variablen mit Firebug überprüfte ich sah, dass seine korrekt nur die Methode sendet. Alle anderen Werte werden als undefiniert gesendet. Ich konnte den Fehler bis jetzt nicht finden.

+0

wie Tuff diesen Code zu verstehen :( –

Antwort

2

Versuchen Pre-bevölkern die data Karte, die Sie vorbei:

$(document).ready(function() { 
    $("#post_<?php echo $wparent;?>").click(function() { 
     var message = $("[name=replynote]").val(); 
     var method = $("[name=method]").val(); 
     var parent = $("[name=parent]").val(); 
     var data = { 
      "message": message, 
      "method": method, 
      "parent": parent 
     }; 
     $('#parentpost-<?php echo $wparent;?>').html('Loading.....'); 
     $("#parentpost-<?php echo $wparent;?>").load("<?php echo SITE_URL;?>new_ajax/post_reply.php", data); //end 
    }); // end of the main click function 
}); 

Wenn data ein Objekt undefined Werte enthält, dann jQuery Selektoren funktionieren nicht.

Da Sie nur ein name Attribut verwenden, um Ihre Eingaben zu finden, möchten Sie vielleicht genauer in den Selektoren sein.

Schließlich werden die attribute Selektoren müssen in der Regel den Wert des Attributs in Anführungszeichen, so versuchen Sie diese für Ihre Selektoren:

 var message = $('textarea[name="replynote"]').val(); 
    var method = $('input[name="method"]').val(); 
    var parent = $('input[name="parent"]').val();