PDA

نسخه کامل مشاهده نسخه کامل : لود در combobox دوم با تغییر مقدار در combobox اول



maryam114
25-11-2010, 20:16
سلام

چطور می شه با تغییر مقدار یک combobox که مثلا نام استانها در آن هست.combobox بعدی که مربوط به شهر های استان ها هست، شهرهای استان خاص که کاربر در combobox اول انتخاب کرده لود بشه.
لطفا اگه با کد توضیح بدید ممنون می شم.

hossin.esm
29-11-2010, 00:48
یک مثال نوشتم ببین.



index.php


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



result.php



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

hossin.esm
29-11-2010, 00:49
index.php

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

result.php

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

hossin.esm
29-11-2010, 00:52
سلام

چطور می شه در php با تغییر مقدار یک combobox که مثلا نام استانها در آن هست.combobox بعدی که مربوط به شهر های استان ها هست، شهرهای استان خاص که کاربر در combobox اول انتخاب کرده لود بشه.
لطفا اگه با کد توضیح بدید ممنون می شم. در ضمن با آژاکس آشنایی ندارم.

index.php

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

result.php

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

hossin.esm
29-11-2010, 01:00
index.php

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

result.php

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

hossin.esm
29-11-2010, 14:05
<html>
<head>
<meta [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]"Content-Type" content="text/html; charset=utf-8">
<title>Untitled</title>
<script type="text/javascript">
function result(value){
if(value.length==0){
return;
}
if (window.XML[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])
{// code for IE7+, Firefox, Chrome, Opera, Safari
xml[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] XML[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]();
}
else
{// code for IE6, IE5
xml[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ActiveXObject("Microsoft.XMLHTTP");
}

xml[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ](){
if (xml[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] && xml[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])
{
document.getElementById("result").innerHTML=xml[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
}
}
xml[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]("GET","result.php?id="+value,true);
xml[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ](null);
}


</script>
</head>
<body >
<div align="center" >
<select name="number_query" onchange="result(this.value);">
<option value="1">yazd</option>
<option value="2">tehran</option>
<option value="3">esfahan</option>
</select>
</div>
<br>

<div align="center" id="result">
<select>
<option>mehriz</option>
<option>maybod</option>
<option>yazd</option>
</select>
</div>
</body>
</html>

maryam114
29-11-2010, 21:04
از مثال های خوبتون واقعا متشکرم.

Web Design
07-12-2010, 22:24
من هر کاری کردم نشد:13:

hossin.esm
08-12-2010, 17:39
نام فایل ها را همانند نام فایل ذکر شده در پست بگذارید.
و از مثال پست شماره 5 استفاده کنیدو
من در اکثر مرورگرها تست کردم و جواب داد

maryam114
09-12-2010, 01:57
من هر کاری کردم نشد:13:




[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]پيش-فرض-لود-در-combobox-دوم-با-تغییر-مقدار-در-combobox-اول&highlight

maryam114
21-01-2011, 17:20
index.php

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

result.php

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


سلام
من مثال شما را به صورت زیر تغییر دادم. مثال شما درست کار می کرد ولی در هنگام اجرای کد زیر وقتی combobox اول را تغییر می دهم دو تا combobox به هم چسبیده در زیر آن ایجاد میشود که یکیش مقدار ندارد و دیگری مقدار درست را می دهد. اشکال کجاست.

index.php

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

result.php

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

hossin.esm
21-01-2011, 19:12
فکر کنم مشکل از کد خط آخر result.php است
که باید به صورت زیر باشد.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

maryam114
21-01-2011, 20:58
فکر کنم مشکل از کد خط آخر result.php است
که باید به صورت زیر باشد.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

بله مشکل از خط آخر بود. متشکرم.

maryam114
22-01-2011, 11:30
سلام

من در مثال بالا می خواهم پس از اینکه کاربر combobox ها را onchange کرد در textbox متنی را براساس آنچه که در combobox انتخاب شده از بانک بخواند و در textbox نمایش دهد.

کد را به صورت زیر تغییر دادم ولی چون خیلی به جاوااسکریپت و اینا آشنایی ندارم نمیدونم درست نوشتم یا نه. کار نمیکنه.

یه تابع result2 را در رویداد onchange کمبو باکس دوم قرار دادم. لطفا اگر امکانش هست تابع result2 و فایل result2.php را ببینید.

index.php


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


result2.php

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

hossin.esm
22-01-2011, 12:22
من دیتابیس و اطلاعاتش رو ندارم تست کنم .

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

چند تا نکته .
فکر کنم اگر به جای کد

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

از کد

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
استفاده کنید خیلی راحت تر هستید.

نکته دوم
صحیح بودن اطلاعات ورودی کاربر برای فراخوانی از دیتابیس چک نشده (sql injection)

maryam114
22-01-2011, 13:25
1-می خوام value شی select رو بفرستم به صفحه result2.php
باید به این صورت باشد؟

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


2- میشه یه مثال از sql injection بزنید.

hossin.esm
22-01-2011, 14:31
var vselect1=select1.options[select1.selectedIndex].value; تعریف نشده.
خب برای گرفتن value از کد زیر استفاده کنید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

hossin.esm
22-01-2011, 14:50
مثالی از sql injection

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا اگر کاربر در url درخواست زیر را وارد کند جدول table1 از دیتابیس حذف میشود. به همین راحتی.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای جلوگیری میتونید از کد زیر برای id استفاده کنید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

maryam114
22-01-2011, 18:22
اشکالم این بود که باید تابع result2() را در فایل result.php فراخوانی می کردم نه در index.php .

kaviretanha
15-07-2013, 11:36
واقعا عالی بود، ممنون

sysman0
01-08-2015, 05:55
سلام دوستان، منم مشکلی دارم شبیه مشکل دوستمون کویرتنها با این تفاوت که میخوام چند کمبوباکس تو یکه صفح داشته باشم که همه از بانک بخونن و با تغییر اولی محتویات دومی بر اساس انتخاب اولین کمبوباکس باشه و به همین ترتیب با تغییر دومی کمبوباکس سوم گزینه های مرتبط با گزینه انتخاب شده در باکس دوم رو نشون بده
با ارتباط ها مشکلی ندارم تا جایی که گزینه ای از باکس اول انتحاب می کنم دومی بر اساس اولی، دومی گزینه هاشو از بانک میخونه و نمایش داده میشه اما وقتی از باکس دوم گزینه ای رو انتخاب می کنم با اینکه باکس سوم هم درست کار میکنه، متاسفانه کمبو دوم برداشته میشه از تو صفحه
سوال:به نظر شما چطور این مشکل حل میشه؟
سوال2: چطور میشه تو تابع جاوا که در انتهاش فایل resul.php رو قراخوانی میکنه بجاش یه تابع php رو صدا بزنیم؟
ضمنا من تا الان هم از یک تابع جاوا استفاده کردم با دوتا پارامتر ورودی که یکیش پارامتر یا کدی عددی است که براساس اون کمبوباکس دوم گزینه هاشو از بانک میخونه و نمایش میده و دومی هم اسم فایلی است که در انتهای تابع جاوا فراخوانی میشه.
نمونه: در فایل index.php از این پارامترها استفاده کردم ( this.value,'resutl') برای onchange و در فایلهای بعدی بشکل (this.value,'result2) و تو فایلهای بعدی هم پارامتر دوم رو براساس نام فایلی که قراره تو تابع جاوا فراخوانی بشه تغییر دادم یعنی برابر result یک فایل result.php دارم و برابر پارامتر result2 یک فایل result2.php و برای پارامتر result3 هم یک فایل result3.php و بهم همین ترتیب برای کمبوهای بعدی. حال می خوام مثل همین تابع جاوا که یکی شده و هر جا لازمه صداش میکنم، جای این فایلهای php یک تابع php قرار بدم که هرجا لازم شد با پارامترهای مختلف صداش بزنم
در نهایت علاوه بر کم کردن کدها، هدف اصلیم اینه که تا هرچند کمبو باکسی که میخوام اضافه کنم با انتخاب در کمبوباکسهای سوم و چهارم و ... کمبوهای قبلی تو صفحه باشن و بشه ازشون استفاده کنم
پیشاپیش از اینکه وقتتونو میگیرم پوزش می طلبم و از اینکه راهنمایی می فرمایید سپاسگزارم

هانی18
04-12-2015, 22:17
سوال دارم ؟؟؟؟؟؟؟؟؟؟؟ازکی بپرسم؟؟؟؟:n04:

hamedarian2009
04-12-2015, 22:20
سوال دارم ؟؟؟؟؟؟؟؟؟؟؟ازکی بپرسم؟؟؟؟:n04:

برای سوالتون تاپیک جداگانه باز کنید و نیاز نیست از کسی بپرسید هرکس که پاسختون رو بدونه جواب میده

هانی18
04-12-2015, 22:21
هر وقت تونستید جواب بدین لطفا میخوام یه کد PHP واسه کمبو باکس بنویسم که با انتخاب یکی از گزینه هاش و زدن یه دکمه بره به صفحه مربوط به خودش مثلا یه استان انتخاب کنم بعد یه دکمه رو بزنم که بره به صفحه مربوط به اون استان

هانی18
04-12-2015, 22:29
هیشکسم نیس که بدونه...............هعی خداااااااا...........ضروریه آخه استادم منو میکشه:n03:

behnamy01
05-12-2015, 19:54
توی یک صفحه POST رو چک میکنید اگر استان POST شده بود، حالا لیست شهرها رو نشون بدید، اگر نشده بود اول استان ها رو نشون بدید:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]$-%D8%AF%D8%B1-php

alier9
09-04-2016, 21:58
سلام اقا من یه مشکل بزرگ دارم نمیدونم چیکارش کنم دستم به دامنتون.
من توی کمبو باکس می خوام مثلا 20 تا لینک سایت قرار بدم ک با انتخاب هر ایتم به سایت مربوطه وارد بشه مثلا
item1>google
item2>yahoo
ولی هر کاریش میکنم بعد ار اینکه لینک ها رو میدم همه ایتم ها یک لینک رو باز میکنن ..چجوری باید تفکیکشون کرد ک ببا انتخاب هر کدوم جدا گانه برن توی سایت مربوطه؟توروخدا جواب بدین
:n34::n37::n30:​