Этот тест ajax должен (по желанию около 2 часов) вернуть результат запроса в текстовое поле. Запрос делается на той же странице, и у меня есть тест $ _POST isset в верхней части тела, чтобы проверить, поступает ли запрос от моего запроса POST (мне нужно, чтобы весь код был в одном файле). В результате «текст, появляющийся в поле textarea» возвращается сам по себе и не помещается внутри текстового поля.Ajax возвращает результат запроса на весь экран, а не в обозначенное текстовое поле
//name of this page is testing.php
<html>
<head>
function loadXMLDoc()
{
var xmlhttp;
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("testTextarea").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.open("POST","testing.php",true);
xmlhttp.send("test");
}
</head>
<?
if (isset($_POST["testName"])) {
die("text to appear in the textarea box");
}
?>
<body>
<form action="testing.php" method="POST" onsubmit="loadXMLDoc(this.form); return false;">
<input class="command" type="text" name="testName" />
<div><textarea id="testTextarea"></textarea></div>
</body>
</html>
Mostlikely Вы состоите яваскрипт ошибки в 'onsubmit =" loadXMLDoc (this.form); return false; ", а затем' loadXMLDoc (this.form); '. Из-за этого «return false» не запускается, и форма отправляется обычным способом. Проверьте консоль ошибок, чтобы узнать, что происходит. На первый взгляд я бы сказал, что 'this.form' должен быть просто' this', потому что это уже форма. Но также может быть ошибка в самой функции. –
Временная метка: 31/05/2012 21:49:42 Ошибка: InvalidStateError: Была сделана попытка использовать объект, который больше не используется или не используется, Исходный файл: http: // localhost: 8082/testing. php Строка: 19 – user1166981
, даже если я удалю действие формы, его же результат – user1166981