1
Привет, Я пытаюсь заполнить текстовое поле, объявленное в jsp-файле, некоторым текстом после вызова сервлета с использованием Ajax. Текст xmlhttp.responseText содержит текст, возвращаемый сервлетом, но вход с идентификатором сообщения не заполняется этим текстом, и я не знаю почему. Какие-либо предложения? Используемый код приведен ниже.servlet + ajax + jsp
function ajaxFunction() {
if(xmlhttp) {
var txtname = document.getElementById("txtname");
xmlhttp.open("POST","getname",true); //getname will be the servlet name
xmlhttp.onreadystatechange = handleServerResponse;
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlhttp.send("txtname=" + txtname.value); //Posting txtname to Servlet
}
}
function handleServerResponse() {
//alert(xmlhttp.readyState);//ok
if (xmlhttp.readyState == 4) {
alert(xmlhttp.status);
if(xmlhttp.status == 200) {
alert(xmlhttp.responseText); // this is ok
document.getElementById("message").innerHTML=xmlhttp.responseText; // doesn't work
//document.myForm.message.innerHTML=xmlhttp.responseText; //neither
}
else {
alert("Error during AJAX call. Please try again");
}
}
}
</script>
<body>
<form name="myForm" method="POST" action="/ajjax/getname">
<table>
<tr>
<td>Enter Name</td>
<td><input type="text" name="txtname" id="txtname" /></td>
</tr>
<tr>
<td colspan="2"><input type="button" value="Submit" onclick="ajaxFunction();" /></td>
</tr>
</table>
<input type="text" name="message" id="message" />
</form>
</body>
</head> </html>
Спасибо, это работает :) – Steffi
@Steffi: рассмотрите [upvoting/accepting] (http://meta.stackexchange.com/questions/5234) правильный ответ, чтобы указать, что проблема решена (и вознаградить человека который помог вам, что оказалось мне :-)). –
Кто такой @ user1308140? – Lion