IT虾米网

javascript之将 html 输入发布到 ajax

artech 2025年05月04日 程序员 165 0

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

<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(将“Rencontres”链接到“Atelier”的函数):

    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. 您使用了“输入”(复数)一词。 不能多个元素具有相同的 ID
  2. 您的选择器是#Dates,但您的 ID 是Dates[]。您丢失了其中的方括号。您必须对选择器语法进行转义(因为它们是属性选择器),并且必须对转义字符进行转义(因为它们是 JavaScript 转义字符。 $('#Dates\\[\\] ')

您应该避免在 ID 中使用 [],它们会使事情变得非常复杂。


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!