簡體   English   中英

jQuery / AJAX / XML卡住

[英]jQuery/AJAX/XML stuck

我嘗試了很多不同的方法,這些方法一直停留在對XML數據的調用上。 我已經調試了它,代碼干凈了,但是當我執行時,它什么也沒做。

這是JS

//----------------------THE MAIL FORM---------------------------

function mailMe(form) {
    return true;
}


//----------------------ADD ITEM---------------------------

function addItem() {
    var id = document.getElementById("id").value;
    $("#itemCont").append("<div id='item" + id + "' class='service'><span style='font-weight: bold;'>Item:  </span><select name='ITEM" + id + "' style='width: 300px;'><option value=' '>Select an item...</option></select><span style='font-weight: bold;'>  S/N:  </span><input name='SN' type='text' style='width: 100px;'><p><span style='font-weight: bold;'>  Parts:  </span></p><div id='partCont'></div><a href='#' onClick='addPart(test.xml); return false;'>Add Part</a><div class='ri'><p><a href='#' onClick='removeItem(\"#item" + id + "\"); return false;'>Remove Item</a></p></div></div>");
    id = (id - 1) + 2;
    document.getElementById("id").value = id;
}

function removeItem(id) {
    $(id).remove();
}


//----------------------ADD PART---------------------------

function addPart(url) {
    var pn = document.getElementById("pn").value;
    var xmlhttp;
    var txt, x, xx, i;
    if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    }
    else { // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            txt = "<select name='test'><option value=''>Make a selection...<option>";
            x = xmlhttp.responseXML.documentElement.getElementsByTagName("part");
            for (i = 0; i < x.length; i++) {
                txt = txt + "<option value='";
                xx = x[i].getElementsByTagName("lawson");
                try {
                    txt = txt + xx[0].firstChild.nodeValue + "'>";
                }
                catch (er) {
                    txt = txt + "'>";
                }
            }
            xx = x[i].getElementsByTagName("desc");
            try {
                txt = txt + xx[0].firstChild.nodeValue + "</option>";
            }
            catch (et) {
                txt = txt + "</option>";
            }
        }
    };
    txt = txt + "</select>";
    $("#partCont").append("p);

    xmlhttp.open("POST", url, true);
    xmlhttp.send();
    pn = (pn - 1) + 2;
    document.getElementById("pn").value = pn;
}


function removePart(id) {
    $(id).remove();
}

和HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

    <title>EIS Kodak - Service Parts Form</title>

    <link rel="stylesheet" type="text/css" href="style.css" />

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

    <script type="text/javascript" src="jquery.js"></script>

    <script type="text/javascript" src="addInput.js"></script>

</head>

<body>

    <div id="nav">

        <h1>Service Parts Form</h1>

    </div>

    <div id="content">

        <p><a href="#" onClick="addItem(); return false;">Add Item</a></p>

        <form id="form1" action="mailto:letichiak.broderick@kodak.com?subject=Service Parts Form" method="post" onsubmit="return mailMe( this.form )" enctype="text/plain">

            <input type="hidden" id="id" value="1">

            <input type="hidden" id="pc" value="1">

            <input type="hidden" id="pn" value="1">

            <div id="itemCont"></div>

            <p style="margin-top: 20px;">

                <input type="submit" value="   Submit   " >

                <input type="reset" value="Reset" name="reset">

            </p>

        </form>
    </div><!--Content-->

 </body>

 </html>

和XML:

<service>
    <part>
        <desc>Part 1 Description</desc>
        <lawson>L#1</lawson>
        <partnum>P#1</partnum>
        <category>Category1</category>
    </part>
    <part>
        <desc>Part 2 Description</desc>
        <lawson>L#2</lawson>
        <partnum>P#2</partnum>
        <category>Category2</category>
    </part>
    <part>
        <desc>Part 3 Description</desc>
        <lawson>L#3</lawson>
        <partnum>P#3</partnum>
        <category>Category3</category>
    </part>
    <part>
        <desc>Part 4 Description</desc>
        <lawson>L#4</lawson>
        <partnum>P#4</partnum>
        <category>Category3</category>
    </part>
</service>

我或者語法中缺少某些內容,或者我不知道自己在做什么。 或兩者?

txt = txt + "</select>";

那行不應該在AJAX成功函數以及附加函數之內嗎? 或者我在這里想念什么。 您是否至少要正確地發布AJAX並獲取響應數據?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM