• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
نوشتن متن در textbox پس از onchange کردن کمبو باکس
#1
در کد ریز می خواهم پس از اینکه کاربر combobox اول را onchange کرد، combobox دوم بر اساس کمبو باکس اول تغییر کند. که کد این قسمت در تابع result تعریف شده و درست جواب می دهد. پس از آن می خوام وقتی کاربر کمبو باکس دوم را تغییر داد در textbox متنی را براساس آنچه که در combobox انتخاب شده از بانک بخواند و در textbox نمایش دهد.کد این قسمت در تابع result2 نوشته شده که در onchange کمبو باکس دوم فراخوانی شده. این قسمت کار نمی کند. کد ها و دیتابیس را گذاشتم. لطفا اگر امکانش هست بررسی کنید.


فایل‌های پیوست
.zip   lib.zip (اندازه 3.34 KB / تعداد دانلود: 87)
  پاسخ
تشکر شده توسط :
#2
مشکلی اینه که خروجی result.php شما که در result قرار می گیره باعث میشه که select پاک بشه. شما باید خط سوم result.php رو به
کد:
print '<select id="select2" onchange=result2();>';
تغییر بدین
  پاسخ
تشکر شده توسط : mkmk molana
#3
(۱۳۸۹ بهمن ۰۲, ۰۵:۵۳ ب.ظ)imez08 نوشته: مشکلی اینه که خروجی result.php شما که در result قرار می گیره باعث میشه که select پاک بشه. شما باید خط سوم result.php رو به
کد:
print '<select id="select2" onchange=result2();>';
تغییر بدین

از زحمات شما واقعا متشکرم.
یه سوال:
چجوری فایل result.php توابع فایل index.php مثل result2() را می بیند؟

یه اشکال دیگه الان تو برنامه ام دیدم. اگه کاربر کمبو باکس دوم را تغییر ندهد و بخواهد همان مقدار اول باشد. خروجی ندارد. باید چه کار کنم.

  پاسخ
تشکر شده توسط :
#4
برای سوال اول
وقتی شما از ajax استفاده می کنین و خروجی فایل فراخوانی شده یعنی همون result2.php رو با این کد
کد:
document.getElementById("result").innerHTML=xmlhttp.responseText
;
در index.php قرار میدین پس result2() هم جزیی از index.php میشه و قابل فراخوانی هست. اگرچه اگه view source رو در IE بزنید خروجی result.php در index.php قابل مشاهده نیست اما اگه از FireFox استفاده کنید و افزونه FireBug رو نصب کنید حتی می تونید این تغییرات رو ببینید.
برای سوال دوم کافیه یک option در زیر select قرار بدین
کد:
<option selected value="">select one</option>
و در result() و result2() هم چک کنید که اگه select one انتخاب شده بود هیچ اتفاقی نیفته
  پاسخ
تشکر شده توسط : mkmk molana
#5
منظورم اینه که در حال حاضر وقتی اولین گزینه در کمبو باکس دوم انتخاب شود هیچ اتفاقی نمیافتد و در textbox چیزی چاپ نمیشه. من می خوام وقتی کاربر اولین گزینه را هم انتخاب کرد در textbox خروجی داشته باشه ولی نداره.
  پاسخ
تشکر شده توسط :
#6
برای این با انتخاب گزینه اول اتفاقی نمیفته چون رویدادتون onchange هست.
راهش همینی هست که گفتم. برای این که اولین گزینه نشان داده شده ممکنه گزینه انتخابی کاربر باشه میان و یک select one میگذارن یعنی یکی از گزینه های زیر رو انتخاب کنید
یعنی result.php خط 4 میشه
کد:
print '<select id="select2" onchange=result2();><option selected value="selectone">select one</option>';
حالا برای این که ممکنه بعدا همین select one امتخاب بشه میتونین index.php رو این جوری کنین
کد:
...
function result2(){
if (document.getElementById('select2').value=="selectone")
{
alert("select one of option from list");
return false;
}
...
  پاسخ
تشکر شده توسط : molana mkmk
#7
سلام دوستان
میخوام بدونم چه جوری باید بعد از انتخاب یک کامبو باکس اطلاعات کامبو باکس دیگه را از پایگاه داده بخونم:
یعنی 1- مقدار انتخاب شده کامبو باکس تو فرم جاری را چه جوری به دست بیارم؟
2- کامبو باکس بعدی چه جوری باید آپ بشه؟
از همکاریتون ممنون
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان