راهنمایی برای این کد

majidonline0

New Member

در مورد کد زیر می تونید راهنمائیی کنید؟
کد زیر برای وقتی که محتویات

cmtop = document.getElementById(txtobject).value;

لاتین تایپ شود بدون هیچ مشکلی و با موفقیت اجرا می شود

اما اگر محتویات فیلد مورد نظر فارسی باشد این مجموعه کد جاوا اسکریپت انگار اصلا اجرا نمی شود

ممنون از توجه تان

<script type="text/javascript">

function SaveOperate(strtext,strst)

{

var xmlhttp;

var txtobject;

var cmtop;


if ( strtext.id.substring(0,3) == "OPE")

{

txtobject = "cmt" + strtext.id.substring(3);

cmtop = document.getElementById(
txtobject).value;

}

else

{


cmtop = "";

}


strst = strst + "&cmtop=" + cmtop



if (window.XMLHttpRequest)

{// code for IE7+, Firefox, Chrome, Opera, Safari

xmlhttp=new XMLHttpRequest();

}

else

{// code for IE6, IE5

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

xmlhttp.onreadystatechange=function()

{

if (xmlhttp.readyState==4 && xmlhttp.status==200)

{

document.getElementById("txtpayam").innerHTML=xmlhttp.responseText;

}

}


xmlhttp.open("GET","Set_Sanad_State2.asp?"+strst,true);

xmlhttp.send();


strtext.style.visibility="hidden";

}

</script>​
 

eAmin

Well-Known Member
کدها رو داخل تگ کد (#) قرار بدید برای خوانایی بهتر.
Querystring ها رو همیشه توسط متد encodeURIComponent عملیات encode رو انجام بدید تا به مشکل مشابه برخورد نکنید. در هرصورت من کد شما رو ویرایش کردم، همچنین بعضی جاها خطای syntax وجود داشت، شاید اگر از تگ کد استفاده میکردید این خطاها ایجاد نمیشد.

کد:
function SaveOperate(strtext,strst){
    var xmlhttp;
    var txtobject;
    var cmtop;

    if ( strtext.id.substring(0,3) == "OPE"){
        txtobject = "cmt" + strtext.id.substring(3);
        cmtop = document.getElementById(txtobject).value;
    }else{
        cmtop = "";
    }

    strst = strst + "&cmtop=" + encodeURIComponent(cmtop);

    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    }else{// code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange=function(){
        if (xmlhttp.readyState==4 && xmlhttp.status==200){
            document.getElementById("txtpayam").innerHTML=xmlh ttp.responseText;
        }
    }

    xmlhttp.open("GET","Set_Sanad_State2.asp?" + strst, true);
    xmlhttp.send();

    strtext.style.visibility="hidden";
}
 

جدیدترین ارسال ها

بالا