我知道這類問題已經被問到,但我完全是一個使用Ajax和JavaScript的新手。 我有一個字段(codigo_caso
),我必須的形式填充用ajax在JSP中填充表格
<input id="codigo_caso" autofocus="autofocus" type="text" name="codigo_caso" value=""/>
我有該字段失去焦點後檢索4個變量的發射器(或如果1個變量的其它4是空的) 檢索這4個變量後的大問題是如何與他們合作。
JSP網頁 - >腳本 這是我從互聯網上覆制和修改,以獲得一個字段的片段
$(document).ready(function() {
$("#codigo_caso").blur(function() {
var cod = $(this).val();
var dataString1 = {"codigo":cod};
$.ajax({
type: "GET",
url: "otros/codigoCasoDependienteNuevaTarea.jsp",
datatype: "json",
contentType: "application/json; charset=utf-8",
data: dataString1,
cache: false,
success: function(response) {
$(".linea_equipo").response("linea_equipo");
$("#selectArea").filter(function() {
return $(this).response("id_area") === response("area");
}).prop('selected', true);
$(".listaCentros").response("nombre_centro");
$("#listaRolNuevaTarea").filter(function() {
return $(this).response("id_rol") === response("rol");
}).prop('selected', true);
}
});
});
});
這是我的JSP文件啓動SQL [,我需要恢復幾個變量]。 我需要知道如何把這些3場回到我前面的JSP
JSP文件 - > OTROS/codigoCasoDependienteNuevaTarea.jsp
String linea = "", centro = "", error = "No existe el caso indicado";
int area, rol;
Connection conex = (Connection) session.getAttribute("conexion");
Statement st = conex.createStatement();
String sql = "";
String cod = request.getParameter("codigo").toString();
if (cod != null && !cod.isEmpty() && !cod.equals("0")) {
sql = "SELECT t1.linea_equipo,t1.id_rol, t2.id_area,t2.nombre_centro "
+ " FROM gen_casos_prisma t1 LEFT OUTER JOIN gen_centros t2 ON "
+ " t1.id_centro = t2.id_centro "
+ " WHERE "
+ " t1.CODIGO_CASO = " + cod;
ResultSet rs = st.executeQuery(sql);
rs.beforeFirst();
if (rs.next()) {
linea = rs.getString("linea_equipo");
area = rs.getInt("id_area");
centro = rs.getString("nombre_centro");
rol = rs.getInt("id_rol");
JSONObject j = new JSONObject();
j.put("linea_equipo", linea);
j.put("id_area", area+"");
j.put("nombre_centro", centro);
j.put("id_rol", rol+"");
} else {
/* return variable error */
}
response.setContentType("application/json");
}
知道如何獲得這些字段是之後的下一步知道如何處理他們。我知道如何將linea_equipo
放置在文本字段中[使用我在JAVA代碼上方的腳本中發佈的代碼],但是我還需要在每個列表中設置一個選項(兩個是下拉列表和其他是數據主義者)考慮到它們已經被填充;只需要將選定的屬性放置在與表單必須從此ajax-jsp事件接收的字段匹配的值中。 (selectArea - id_area
,listaCentrosDeArea - nombre_centro
,listaRolNuevaTarea - id_rol
)
<select id="selectArea" >
<%out.print(f.getSelectAreas(conex));%>
</select>
<datalist id="listaCentrosDeArea" id="datalist1">
<% //out.print(f.selectCentrosNOUser(conex, updateTarea));%>
</datalist>
<select id="listaRolNuevaTarea" name="rol">
<% out.print(f.selectRolesNoUser(conex));%>
</select>
很抱歉,如果這似乎有點棘手或重,但我已經要求這樣做,我不知道。
如果它不是json,我該如何返回所有4個值?作爲一個數組? – bateras
看看你對服務器的迴應如何。 。 在ajax方法語法中使用dataType來說明您期望的格式。 。 成功,您可以提醒響應 –
我認爲使用JSON作爲響應更容易我添加了代碼以將響應作爲JSON返回。 –