ورود

View Full Version : مشکل اجرای تابع پس لود شدن در div



ak1_2004
پنج شنبه 10 اسفند 1391, 13:28 عصر
سلام
خیلی به جاوا و jquery مسلط نیستم ! لطفا راهنمایی کنید .

من از دو تا اسکریپت زیر که خودم یکمی ارتقاشون دادم برای باز شدن صفحاتم در یک div خاص و یا ارسال فرم هام استفاده می کنم :

<script type="text/javascript" >
var xmlHttp;

var div;

function createRequest(){

if(window.ActiveXObject){

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

}
else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}

}



function page(url , divp){

window.div = divp;

createRequest();

xmlHttp.open("GET", url , true);

xmlHttp.onreadystatechange = updatepager;

xmlHttp.send(null);

}



function updatepager(){

document.getElementById(window.div).innerHTML = "<center><img src='images/preloader.gif' /></center>"

if(xmlHttp.readyState == 4){

document.getElementById(window.div).innerHTML = xmlHttp.responseText
}

}

</script>
<script type="text/javascript" >
var div
var loadingmessage = '<center><img src="image/preloader.gif" alt="loading" /></enter>';

function Ajaxrequest(){

var xmlHttp;

try{

// Firefox, Opera 8.0+, Safari

xmlHttp=new XMLHttpRequest();

return xmlHttp;

}

catch (e){

try{

// Internet Explorer

xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");

return xmlHttp;

}

catch (e){

try{

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

return xmlHttp;

}

catch (e){

alert("مرورگر شما از آژاکس پشتيباني نمي کند!");

return false;

}

}

}
}



function formget(form, url , divname) {

var poststr = getFormValues(form);

postData(url, poststr, divname);


}



function postData(url, parameters, divname){

var div = divname;

var xmlHttp = Ajaxrequest();

xmlHttp.onreadystatechange = function(){

if(xmlHttp.readyState > 0 && xmlHttp.readyState < 4){

document.getElementById(div).innerHTML=loadingmess age;

}

if (xmlHttp.readyState == 4) {

document.getElementById(div).innerHTML=xmlHttp.res ponseText;

}

}

xmlHttp.open("POST", url, true);

xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

xmlHttp.setRequestHeader("Content-length", parameters.length);

xmlHttp.setRequestHeader("Connection", "close");

xmlHttp.send(parameters);
}


function getFormValues(formobj)
{

var str = "";

var valueArr = null;

var val = "";

var cmd = "";

for(var i = 0;i < formobj.elements.length;i++)

{

switch(formobj.elements[i].type)

{

case "text": str += formobj.elements[i].name +
"=" + escape(encodeURIComponent(formobj.elements[i].value)) + "&";
break;

case "password":
str += formobj.elements[i].name +
"=" + escape(encodeURIComponent(formobj.elements[i].value)) + "&";
break;

case "hidden":
str += formobj.elements[i].name +
"=" + escape(encodeURIComponent(formobj.elements[i].value)) + "&";
break;
case "textarea":
str += formobj.elements[i].name +
"=" + escape(formobj.elements[i].value) + "&";
break;

case "select-one":
str += formobj.elements[i].name +
"=" + formobj.elements[i].options[formobj.elements[i].selectedIndex].value + "&";
break;

case "checkbox":
if(formobj.elements[i].checked == true){
str += formobj.elements[i].name +
"=" + formobj.elements[i].value + "&";
}
break;

}

}

str = str.substr(0,(str.length - 1));

return str;
}





</script>

حالا مشکلم این هست که وقتی یک صفحه رو با استفاده از اسکریپت اول توی یک div فراخونی می کنم دیکه نمی تونم از اسکریپت دوم برای ارسال فرم هام که توی div لود شده استفاده کنم !
یعنی وقتی روی دکمه زیر کلیک می کنم هیچ اتفاقی نمی افته !


<input type='button' class='button' value='[ B1 ]' onclick=\"formget(this.form, 'Files/action.php' ,'bankresult');\">