PDA

View Full Version : سوال: تغییر کردن فیلدهای فرم با تغییر مقدار list menu



.fatemeh
دوشنبه 05 تیر 1391, 10:06 صبح
سلام.
من توی فرم اول باید مشخصات کاربر رو بگیرم.
یعنی چندتافیلد که نام ونام خانوادگی و... رو می نویسه.
بعد یه list menu باید بزارم که یکی ار مواردش توسط کاربر انتخاب بشه.
حالا اگر 1 رو انتخاب کرد سریع بدون ازبین رفتن مشخصاتش و پایین همون لیست منو فرم 1 باز بشه
اگر 2 رو انتخاب کرد فرم 2 و الی آخر...
آخرش هم بازدن ارسال اطلاعات تمام اطلاعات (مشخصات،لیست منو و فرم انتخاب شده کاربر)
ارسال بشه.
لطفا راهنمایی کنید.
ممنون

.fatemeh
دوشنبه 05 تیر 1391, 12:12 عصر
خودم یه کدی رو کار کردم ولی بازم مشکل داره
لطفا ببینید.
<script type="text/javascript">
if (document.getElementById){
document.write('<style type="text/css">\n')
document.write('.dropcontent{display:none;}\n')
document.write('</style>\n')
}

function contractall(){
if (document.getElementById){
var inc=0
while (document.getElementById("dropmsg"+inc)){
document.getElementById("dropmsg"+inc).style.display="none"
inc++
}
}
}

function expandone(){
if (document.getElementById){
var selectedItem=document.dropmsgform.dropmsgoption.se lectedIndex
contractall()
document.getElementById("dropmsg"+selectedItem).style.display="block"
}
}

if (window.addEventListener)
window.addEventListener("load", expandone, false)
else if (window.attachEvent)
window.attachEvent("onload", expandone)

</script>
<form name="dropmsgform" dir="rtl" method="post">
<table width="254" border="0" align="right" cellpadding="5" cellspacing="0" dir="rtl">
<tr align="right" valign="middle">
<td width="377" align="right">نام:
<input name="n" type="text" id="n" >
<span class="redtxt">*</span></td>
</tr>
</table>
<br>
<br>

عنوان:
<select name="dropmsgoption" size="1" onChange="expandone()" >
<option selected value="1">انتخاب کنید</option>
<option value="2">انتخاب اول</option>
<option value="3">انتخاب دوم</option>
</select>
<br>
<br>

<div id="dropmsg0" class="dropcontent">انتخاب کنید</div>

<div id="dropmsg1" class="dropcontent"><?php include_once('p2.php');?> </div>

<div id="dropmsg2" class="dropcontent"><?php include_once('p1.php');?></div>
</form>
<?php
if($_POST['ok']){echo $_POST['n'].'<br>'.$_POST['dropmsgoption'].'<br>'.$_POST['m'];}
if($_POST['p']){echo $_POST['n'].'<br>'.$_POST['dropmsgoption'].'<br>'.$_POST['f'];}?>


صفحه p1:

<form name="p1" method="post" action="form.php" dir="rtl">
<input name="m" type="text" id="m">
<input name="ok" type="submit" id="ok" value="ok">
</form>
صفحه p2:

<form name="p2" method="post" action="form.php" dir="rtl">
<select name="f" id="f">
<option value="1">ff</option>
<option value="2">vv</option>
</select>
<input name="p" type="submit" id="p" value="ارسال">
</form>


ظاهرش دقیقا اون چیزیه که می خوام.
ولی توی گرفتن اطلاعات فرم مشکل داره.
اطلاعاتی که توی انتخاب اول هست رو درست می گیره ولی ار انتخاب دوم عنوان و نام رو نمی گیره.
خواهش می کنم کمک کنید.

.fatemeh
سه شنبه 06 تیر 1391, 09:14 صبح
دوستان راه حلی ندارند؟؟
اصلا پیشنهادی ندارید؟؟
به نظرتون با frame ها یا ajax می شه درستش کرد؟:ناراحت:

MMSHFE
سه شنبه 06 تیر 1391, 11:55 صبح
قبلاً توی همین تالار این سؤال مطرح شده بود. فکر کنم اگه دنبال عباراتی مثل «تغییر فرم با AJAX» بگردین، پیداش کنید. درهرحال این موضوع توی تالارهایی مثل Javascript و jQuery بهتر جواب داده میشه چون مرتبط با موضوع این تالار نیست. موفق باشید.