1

我对 Ajax 有一个问题:如果该书已经存在,我想在有人插入一本书的 isbn 时填写表格。

我尝试了这个解决方案,但它不起作用

这是表格。

            <form action="/Libreria_Tweb/Operation" method="post" enctype="multipart/form-data" name="operation" onsubmit="return controlla()">
            <p class="submit">
            <select name="tipoInfo" onchange="showDiv(this)">
                <option value="addBook"> Inserisci libro </option>
                <option value="alterBook"> Modifica libro </option> 
            </select>
            </p>
            <div id="alter" style="text-align: left; display: none;"> <p>
            <label>Vecchio ISBN </label> <input type="text" name="oldIsbn" />
            </p></div>
            <p>
            <label>ISBN:</label> <input type="text" name="isbn" onchange="makeRequest(this.value)"/>
            </p>
            <p>
            <label>Titolo:</label> <input type="text" name="titolo" />
            </p>
            <p>
            <label>Autore: </label><input type="text" name="autore" />
            </p>
            <p>
            <label>Categoria: </label>
            <select name="categoria">
                <option value="musica">Musica</option>
                <option value="letteratura">Letteratura</option>
                <option value="cucina">Cucina</option>
                <option value="informatica">Informatica</option>
            </select>
            </p>
            <p>
            <label>Prezzo:</label> <input type="text" name="prezzo" />
            </p>
            <p>
            <label>Copertina:</label> <input type="file" name="copertina"  />
            </p>
            <p class="submit">
            <input type="submit" name="operation" value="Invia" />
            <input type="reset" value="Reset" />
            </p>
        </form>

这是方法makeRequest(isbn):

    function makeRequest(isbn) {
      var xmlHttpReq = getXMLHttpRequest();
      xmlHttpReq.onreadystatechange = getReadyStateHandler(xmlHttpReq);
      xmlHttpReq.open("POST", "/Operation?operation=getBook&isbn="+isbn, true);
      xmlHttpReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      xmlHttpReq.send(null);
    }

这是获取数据的 Servlet:

Object[] arr = dbm.getElemById(request);

response.setContentType("text/html");
PrintWriter pw = response.getWriter();
pw.print(arr);

其中 getElemById 返回一个包含所有书籍数据的数组。

PS:我不能使用 JQuery、Json 等......,只能使用 Ajax 和“简单”Java。

(对不起我的英语不好)

4

0 回答 0