Всем привет! Недопонимаю я вот чего.
Есть функция:
function showHint(str){
if(str.length == 0){
document.getElementById("search_area").innerHTML = "";
return;
}
if (window.XMLHttpRequest){ // IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}else{ // for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState == 4){
if (xmlhttp.status == 200){
document.getElementById("search_area").innerHTML = xmlhttp.responseText;
}else{
alert('Ошибка');
}
}else{
document.getElementById("search_area").innerHTML = 'Loading...';
}
}
xmlhttp.open("POST", "search.php?i=" + str, true);
xmlhttp.send();
}
Запрос выполняется как надо, но в выводе результата запроса есть форма которая так же в дальнейшем обрабатыватся.
код search.php
<table >
<tr>
<td>поле 1</td>
<td>поле 2</td>
<td>поле 3</td>
<td>поле 4</td>
</tr>
<?php
$i=1;
foreach($query as $t){?>
<form method="post" action="" >
<tr >
<td><b><?php echo $t["name1"]."</b><br />";
echo " → $t["name2"];?></td>
<td><?php echo $t["name3"];?></td>
<td><?php echo$t["name4"];?></td>
<td>
<input type="hidden" name="name" value="<?php echo $t["name1"];?>" />
<input type="submit" name="add-button" value="Добавить" /></td>
</tr>
</form>
<?php }?>
</table>
Обратите внимание, что в выводе результат работы ajax есть форма!
Так вот, суть проблемы в том, что эта самая форма на уже готовой странице НЕ РАБОТАЕТ.
Исходный код построенной таблицы примерно следующий:
<table>
<form></form> !!!!
<tr><td>....</td></tr>
<form></form> !!!!
<tr><td>....</td></tr>
</table>
То есть, строка не оборачивается в тег form. Стоит закомментировать тег form, так он сразу отображается на своих местах.
Вот и сам вопрос: как решить эту проблему?
PS: Буду благодарен за любую помощь и, прошу, сильно не пинайте.
Спасибо!