Добрый день уважаемые камрады!
Ситуация такая:
Написал скрипт, обработки таблицы на лету (как в phpmyadmin). Все казалось бы великолепно работает, за исключением непонятного ограничения отправляемого текста POST запросом. Почему то функция не пропускает длинное содержимое textarea. Если текст, приблезительно до 500 символов, срабатывает как положено.
вот часть скрипта
//-----------ajax----------
function loadTemp1(url,div1,img) {
if (inputs==0) {return false}// контроль
if (img) {
picsLoad=new Image();
picsLoad.src="/image/" + img + ".gif";
var con = document.getElementById(div1);
con.appendChild(picsLoad);}//анимированный gif
if (window.XMLHttpRequest) {reqTemp1 = new XMLHttpRequest();}
else if (window.ActiveXObject) {reqTemp1 = new ActiveXObject("Microsoft.XMLHTTP");}
reqTemp1.onreadystatechange = processreqTemp1;
reqTemp1.open("post", url, div1, true);
reqTemp1.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
reqTemp1.send(null);
function processreqTemp1() {
if(reqTemp1.readyState == 4) {
if(reqTemp1.status == 200) {getTemp1(reqTemp1.responseText);}
}
}
function getTemp1( number ) {
var contentsTemp1 = document.getElementById(div1);
contentsTemp1.innerHTML = number;}
}
//------------Клик на поле таблицы------------------
function edit_text(id,handler) {
if (window.edit_txt==1) {return false}
else {window.text_begin=document.getElementById(id).innerHTML;
document.getElementById(id).innerHTML = '<textarea id="edittext">' + window.text_begin + '</textarea>';
document.getElementById("edittext").style.width=document.getElementById(id).style.width;
window.edit_txt=1;off_input();}
document.onclick = function(event) {
t=event.target||event.srcElement;
if ((t.id==id)||(t.id=='edittext')) {return false} //блокирует повторный клик
else {
var r = new RegExp("\x27+","g");
window.text_end=encodeURIComponent(document.getElementById("edittext").value.replace(r,"’")); // преобразовывает одинарные кавычки в символ
document.getElementById(id).innerHTML = "";
window.edit_txt=0;
window.url='/handlers/' + handler + "&cell_value=" + window.text_end;
div1=id; img="loader2";
on_input();loadTemp1(url,div1,img);
}}
document.onkeydown = function checkKeycode(event){
if(!event) var event = window.event;
if (event.keyCode==27 || event.which==27) {document.getElementById(id).innerHTML = text_begin; window.edit_txt=0;on_input();}// если нажали escape, то возвращает исходный текст в поле таблицы
}
}
Часть кода вывода таблицы (клик на поле)
<td id="row'.$id.'" onclick=edit_text("row'.$id.'","editor.php?id='.$id.'&cell=row");>'.$row.'</td>
Подскажите пожалуйста, в чем загвоздка? Всю голову себе сломал.