将html输入发布到ajax

时间:2014-04-30 15:15:24

标签: javascript html ajax post

我需要一些关于此代码的帮助:

<script type="text/javascript">
    $(document).ready(function(){
        $("#btnGrp").click(function(){
            var dataString = 'IDAtelier='+ $("#IDAtelier").val() + '&Dates=' + $("#Dates").val();

            $.ajax
            ({
                type: "POST",
                url: "ajaxAjouterGroupe.php",
                data: dataString,
                cache: false,
                success: function(html)
                {
                    $("#DatesList").html(html);
                }
            });

        });
    });
</script>

HTML:

<form name="Dates" id="Dates" action="traitementDates.php" method="post">
    <p class="inscHeader">Dates</p>
    <div id="DatesList">
        <?php GetGroupBody(htmlentities($_POST['IDAtelier']));?>
    </div>
    <button type="button" id="btnGrp" name="btnGrp">Ajouter un groupe</button>
    <input type="submit" value="Terminer l'ajout de l'atelier" /><br />
    <input type="hidden" id="IDAtelier" name="IDAtelier" value="<?php GetAtelierID();?>" />
</form>

PHP (功能得到&#34; Rencontres&#34;链接到&#34; Atelier&#34;):

    function GetGroupBody($IDAtelier)
    {
        echo '<b><i>Groupe</i></b><br/>';
        global $Cnn;
        $req = $Cnn->prepare("SELECT * FROM Rencontres WHERE IDAtelier = ".$IDAtelier."");
        $req->execute();
        while($data = $req->fetch())
    {
        echo '<label>'.$data['Titre'].': </label><input type="text" name="Dates[]" id="Dates[]" /><br/>';
    }
    $req->closeCursor();
}

我想将ID="Dates[]"的输入发布到我的ajax,但这似乎不起作用。知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您似乎有两个问题:

  1. 您使用了(复数)字“输入”。您不能拥有多个具有相同ID的元素
  2. 您的选择器为#Dates,但您的ID为Dates[]。你丢失了它的方括号。你必须为选择器语法转义它们(因为它们是一个属性选择器),你必须转义转义字符(因为它们是一个JavaScript转义字符。$('#Dates\\[\\]')
  3. 你应该避免在ID中使用[],这会使事情变得非常复杂。