PDA

View Full Version : سوال: كنترل چك باكس بوسيله ajax



numberone1
شنبه 21 آبان 1390, 01:41 صبح
سلام
من توي فرم از يك چك باكس استفاده كردم كه وقتي تيك ميخوره كد اجكس درست كار ميكنه و پيغام ظاهر ميشه درست
ولي بعدش اگر تيك برداشته بشه اون پيغامي كه اومده از بين نميره و اون سر جاش باقي ميمونه!!


<html>
<head>
<script type="text/javascript">
function showCD(str)
{
if (str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
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("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getcd.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>

<form>
Select a CD:
<select name="cds" onchange="showCD(this.value)">
<input type="checkbox" name="vehicle" value="Car" /> I have a car
</select>
</form>
<div id="txtHint"><b>CD info will be listed here...</b></div>

</body>
</html>

با اين كد بايد بعد از اينكه تيك چك باكس برداشته ميشه پيغامي كه چاپ ميشه از بين بره ولي اون پيغام سر جاش ثابت ميمونه!!!!

alismith
شنبه 21 آبان 1390, 02:05 صبح
سلام

در هر صورت داری value رو میفرستی و به str مقدار میدی، باید تابع رو تو خود onclick اون checkBox بنویسی یا کلا هر جا که تابع رو فراخانی کردی باید مقدار this رو پاس بدی تا بعد بتونی attribute مربوط به checked شدن checkBox رو چک کنی و تابع رو مدیریت کنی

با jQuery هم میشه، خیلی راحت میتونی گوگل کنی و sample های زیادی پیدا کنی



موفق باشید

Arthas1990
شنبه 21 آبان 1390, 22:51 عصر
دوسته گلم ، اگه چک باکسه پس چرا سلکت گذاشتی ؟
اگه از چک میخوای استفاده کنی یه آی دی بهش بده بعد اون قسمتی که srt رو چک میکنی بنویس if(document.getElementById('checkboxid').checked== true
این شمارمه :09154040950
به مشکل خوردی بزنگ


امیدوارم کمکی کرده باشم

numberone1
شنبه 21 آبان 1390, 23:52 عصر
خيلي آجاكس بلد نيستم ميشه ايرادشو برطرف بكنيد؟

Arthas1990
یک شنبه 22 آبان 1390, 01:21 صبح
اوکی - کد زیر رو چک کن . کار میکنه
<html>
<head>
<script type="text/javascript">
function showCD(str)
{
if(document.getElementById('vehicle').checked!=tru e)
{
document.getElementById("txtHint").innerHTML="";
return;
}
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("txtHint").innerHTML=xmlht tp.responseText;
}
}
xmlhttp.open("GET","getcd.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>


Select a CD:

<input type="checkbox" onchange="showCD(this.value)" id="vehicle" value="Car" /> I have a car


<div id="txtHint"><b>CD info will be listed here...</b></div>

</body>
</html>


اگه مشکلی بود هم آیدیم هست و هم شمارم . یزنگ یا پیام بده.

امیدوارم کمکی کرده باشم

numberone1
دوشنبه 23 آبان 1390, 20:47 عصر
مرسي درست شد
فقط يه سئوال ديگه دارم
ميشه تو اين خط همراه با return يك جمله هم چاپ كرد؟

Arthas1990
چهارشنبه 09 آذر 1390, 00:56 صبح
مرسي درست شد
فقط يه سئوال ديگه دارم
ميشه تو اين خط همراه با return يك جمله هم چاپ كرد؟
آره
بم pm بده . بت توضیحش رو میدم ، بعدش بذار اینجا باقی دوستان هم استفاده کنن

امیدوارم کمکی کرده باشم