PDA

View Full Version : چطوری میشه متغیری رو که از php به js فرستاده شده گلوبال کرد؟؟؟؟



pk19000
پنج شنبه 15 فروردین 1392, 20:34 عصر
سلام دوستان
من تو قطعه کد زیر برای ادیت کردن یه مقداری رو به تابعی در js فرستادم. و میخوام از اون توی تابع دیگه استفاده کنم. button ای که گذاشتم با مقدار id کار نمیکنه برا همین میخوام idرو گلوبال کنم (یا همین باتن رو یه جوری کارش بندازم!!!) کسی میتونه کمکم کنه؟؟؟


<html>
<body>
<div style="display:none;color:Aqua" id="div1">
<form name="my">
<input type="text" name="change" />
<input type="button" id="" name="submit" value="submit" onclick="change(id)" />
<!-- <input type="button" name="submit" value="submit" id="" onclick="change(this.id)" /> -->
</form>
</div>
<script>
function edit(id)
{
document.getElementById("div1").style.display="";
document.forms["my"]["submit"].id=id;
}
function change(id)
{
var str=document.getElementById(id).innerHTML;
var g=document.forms["my"]["change"].value;
var n=str.replace(str,g);
document.getElementById(id).innerHTML=n;
str=id;
var s=str.charAt(2)+str.charAt(3);

var xmlhttp;

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(i).innerHTML=xmlhttp.respo nseText+document.getElementById(i).innerHTML;
}
}
if(id.charAt(1)=="T")
xmlhttp.open("GET","admin.php?ID="+s+"&Text="+n,true);
else
xmlhttp.open("GET","admin.php?ID="+s+"&LinkTo="+n,true);
xmlhttp.send();
}


</script>
</body>
</html>

pk19000
جمعه 16 فروردین 1392, 09:16 صبح
ظاهراً کسی حوصله ی خوندن این کد رو نداره!!!!!!!!!!!!!!!!!! :افسرده:

WOLF_MEHRDAD
جمعه 16 فروردین 1392, 09:40 صبح
درود بر شما

البته نمیشه global کرد ولی با روش میشه این کارو کرد
منظورتون رو درست متوجه نشدم اگه میشه یه جوری توضیح بدید ما هم بفهمیم

pk19000
جمعه 16 فروردین 1392, 10:34 صبح
ببین تابع ادیت با آرگومان آیدی که از سمت سرور فرستاده شده فراخوانی شده

این تابع یه فرم رو نشون میده که قراره یه رشته از کاربر بگیره بفرسته به تابع change

این تابع قراره یه تغییر تو سمت کلاینت بده بعد ا.ن رشته رو بفرسته تو سرور تو دیتا بیس حالا تابع ادیت اجرا بشه(که از ایجکس استفاده کردم)

ولی کد رو هرجور تغییر میدم تابع change فراخوانی نمیشه!!!

واین مشکل ماست!!!

AbiriAmir
جمعه 16 فروردین 1392, 13:09 عصر
این رو تست کنید:




<html>

<body>
<script>
var iid = 0;

function edit(id) {
document.getElementById("div1").style.display = "";
iid = id;
}

function change() {
var id = iid;
var str = document.getElementById(id).innerHTML;
var g = document.forms["my"]["change"].value;
var n = str.replace(str, g);
document.getElementById(id).innerHTML = n;
str = id;
var s = str.charAt(2) + str.charAt(3);
var xmlhttp;
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(i).innerHTML=xmlhttp.respo nseText+document.getElementById(i).innerHTML;
}
}
if (id.charAt(1) == "T")
xmlhttp.open("GET", "admin.php?ID=" + s + "&Text=" + n, true);
else
xmlhttp.open("GET", "admin.php?ID=" + s + "&LinkTo=" + n, true);
xmlhttp.send();
}
</script>
<div style="display:none;color:Aqua" id="div1">
<form name="my">
<input type="text" name="change" />
<input type="button" id="" name="submit" value="submit" onclick="change()" />
<!-- <input type="button" name="submit" value="submit" id="" onclick="change(this.id)" />--></form>
</div>
</body>

</html>

pk19000
جمعه 16 فروردین 1392, 14:16 عصر
دستت درد نکنه :)
ولی متأسفانه ....!!!!!!!! :(