Javascript 如何使用AJAX创建/更新单选按钮?

Javascript 如何使用AJAX创建/更新单选按钮?,javascript,php,html,ajax,Javascript,Php,Html,Ajax,我目前有一个设置,我使用PHP脚本通过从数据库加载所需信息来创建单选按钮列表。此脚本位于HTML结构中,而不是单独的文件中,因此需要刷新页面以更新列表 我想弄清楚如何在按下一个ID为“btnDelete”的按钮时删除并重新加载列表(数据库中项目的实际删除是一个单独的点,我在这里不进行讨论)。我拥有的当前代码将删除单选按钮列表,但当添加下一行时,不会发生任何事情(包括列表删除) PHP(delCom.PHP) HTML 上传漫画 没有id=comicList的元素,您无法将其删除(“#comic

我目前有一个设置,我使用PHP脚本通过从数据库加载所需信息来创建单选按钮列表。此脚本位于HTML结构中,而不是单独的文件中,因此需要刷新页面以更新列表

我想弄清楚如何在按下一个ID为“btnDelete”的按钮时删除并重新加载列表(数据库中项目的实际删除是一个单独的点,我在这里不进行讨论)。我拥有的当前代码将删除单选按钮列表,但当添加下一行时,不会发生任何事情(包括列表删除)

PHP(delCom.PHP)

HTML


上传漫画


没有id=comicList的元素,您无法将其删除(“#comicList”)。删除(),因为它不存在。Javascript可能会在此时停止执行,因此不会显示来自PHP的结果。

您不会显示ajaxRequest或xmlhttp的来源。另外,既然您是为jQuery添加标签,为什么不使用jQuery$.ajax呢?抱歉。编辑以包含ajax请求(我认为这是一堆杂乱无章的东西)#comicList应该是#loadList,并且需要在PHP中的divComics中再次创建loadList(div)(不确定如何创建)。为这一混乱道歉。我已经编辑了这个问题。如果删除
,Javascript将无法在下一行中引用它。尝试
document.getElementById('loadList').innerHTML=“”,而不是删除这将删除div的内容,而不删除div本身。谢谢,正如您所说,这将删除它,但是重新引入按钮列表的PHP代码不会添加任何内容。所以问题至少部分解决了。试着独立执行PHP脚本,看看它自己创建了什么输出。它应该可以轻松地打印到浏览器窗口。如果没有,那么问题就出在PHP中。如果它打印出来,那么问题在于Javascript是如何读取它的。当我在Internet Explorer中运行它时,脚本在编辑器中显示为完整打印。它仍然没有产生任何结果。执行php本身会正确地输出单选按钮,但是尝试通过JavaScript执行会导致前面的按钮被删除(正确),而不会发生其他任何事情(错误)。接受这个答案。它解决了一半的问题,我承认这一点从一开始就不是很具体。我会在它的其余部分有一个裂缝,如果它不去任何地方,我可以简化成一个更直接的问题的问题。
<?php
       $username = $_GET['username'];
                    include_once('includes/conn.inc.php');
                    $query = ("SELECT comicID, comicName  FROM comic WHERE username = '$username'");
                    $result = mysqli_query($conn, $query);
                    while ($row = $result->fetch_assoc()) 
                    {
                        echo "<br><input name='comicList' id='".$row['comicID']."' type='radio' value='".$row['comicID']."'>".$row['comicName']."  </option>";
                    }
                ?>

ajaxRequest.onreadystatechange = function()
            {
                if(ajaxRequest.readyState == 4)
                {
                    document.getElementById('loadList').innerHTML="";
                    document.getElementById("divComics").innerHTML=xmlhttp.responseText;
                }
            }
            ajaxRequest.open("GET", "delCom.php?username=MY_EXACT_NAME_I_KNOW_WORKS_HERE", true);
            ajaxRequest.send(null); 
function delComic()
        {
            var ajaxRequest;  

            try
            {
                // Opera 8.0+, Firefox, Safari
                ajaxRequest = new XMLHttpRequest();
            } 
            catch (e)
            {
                // Internet Explorer Browsers
                try
                {
                    ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
                } 
                catch (e) 
                {
                    try
                    {
                        ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
                    } 
                    catch (e)
                    {
                        // Something went wrong
                        alert("Your browser broke!");
                        return false;
                    }
                }
            }
            // Create a function that will receive data sent from the server
            ajaxRequest.onreadystatechange = function()
            {
                if(ajaxRequest.readyState == 4)
                {
                    $("#loadList").remove();
                    document.getElementById("divComics").innerHTML=xmlhttp.responseText;
                }
            }
            ajaxRequest.open("GET", "delCom.php?t=", true);
            ajaxRequest.send(null); 

        }
<div id="divComics">
            <p><u>Uploaded Comics</u></p>
            <!-- find comics in database -->
            <div id="loadList">
                <?php
                    include_once('includes/conn.inc.php');
                    $query = ("SELECT comicID, comicName  FROM comic WHERE username = '".$_SESSION['username']."' ORDER BY comicName ASC");
                    $result = mysqli_query($conn, $query);
                    while ($row = $result->fetch_assoc()) 
                    {
                        echo "<br><input name='comicList' id='".$row['comicID']."' type='radio' value='".$row['comicID']."'>".$row['comicName']."  </option>";
                    }
                ?>
            </div>
            <br>
            <br>
            <input  type="button" onclick="delComic()" value="Delete Comic" name="deleteButton" id="btnDelete"/>
        </div>
<?php
       $username = $_GET['username'];
                    include_once('includes/conn.inc.php');
                    $query = ("SELECT comicID, comicName  FROM comic WHERE username = '$username'");
                    $result = mysqli_query($conn, $query);
                    while ($row = $result->fetch_assoc()) 
                    {
                        echo "<br><input name='comicList' id='".$row['comicID']."' type='radio' value='".$row['comicID']."'>".$row['comicName']."  </option>";
                    }
                ?>

ajaxRequest.onreadystatechange = function()
            {
                if(ajaxRequest.readyState == 4)
                {
                    document.getElementById('loadList').innerHTML="";
                    document.getElementById("divComics").innerHTML=xmlhttp.responseText;
                }
            }
            ajaxRequest.open("GET", "delCom.php?username=MY_EXACT_NAME_I_KNOW_WORKS_HERE", true);
            ajaxRequest.send(null);