ورود

View Full Version : سوال: مدیریت آیتم های رادیو سمت کلاینت با جاوا اسکریپت



Coward
شنبه 20 مهر 1387, 14:48 عصر
سلام دوستان
من دارم یک search می نویسم که ابتدا از یک radio تشکیل شده که براساس چه نوعی search شود را مشخص می کنه و با انتخاب یکی از آنها و کلیک کردن روی یک دکمه یک یا چند textbox جدید درست شود کد هاشو نوشتم ولی نمی دانم چرا کار نمی کنه

function add()
{
var radio=document.getElementsByName("t");
var d=document.getElementById("div");
if(radio[0].checked)
{
d.innerHTML+="<p><input type='text' id='txtfname'><br />";
d.innerHTML+="<p><input type='text' id='txttxtlname'><br />";
d.innerHTML+="<p><input type='submit' value="جستجو">";
}
if(radio[1].checked)
{
d.innerHTML+="<p><input type='text' id='code'><br />";
d.innerHTML+="<p><input type='submit' value="جستجو">";
}
}
<form method="post" style="text-align:right;">
<table align="right">
<tr>

<td><p><h3 align="right" dir="ltr">جستجو بر اساس </h3></td><br />
<tr><td>
<input type="radio" id="name" name="t" value="name" /></td><td>نام </td><td>
<input type="radio" id="code" name="t" value="code" /></td><td>کد</td></tr>
<tr>
<td><p><input type="button" value="Add" onclick="add()" class="btn"/></p></td></tr>
<tr><td>
<div id="div">
</td>
</tr>
</div>
</table>
</form>

ممنون می شوم کمکم کنید

Chabok
شنبه 20 مهر 1387, 15:34 عصر
با سلام
مدیریت رادیو سمت کلاینت کمی مشکل است و به این صورت ، مقدار رو به شما نمیده .

به این مقاله توجه کنید :
http://www.somacon.com/p143.php

به کمک این توابع میتونید با کد ، رادیو انتخاب شده رو مدیریت کنید (گرفتن و ست کردن).

اگر براتون سخت بود یک راه دیگه هم هست .
که بر روی خاصیت OnClick هر رادیو کدهاتون رو بنویسید . این راحت تره . ولی به درد انجام کاری در موقع کلیک شدن میخوره . ولی بعدا نمیتونید بفهمید کدوم رادیو انتخاب شده مگر با مقاله بالا .

موفق باشید . خدانگهدار

Coward
شنبه 20 مهر 1387, 15:53 عصر
دوست عزیز به این تیکه کد ساده نگاهی بندازید


function add()
{
var d=document.getElementById("div");
d.innerHTML+="<p><input type='text' id='txt'>";
}

<form id="fr" action="" method="post">
<div id="div">
<input type="text" id="txt" />
</div>

<p><input type="button" value="Add" onclick="add()"/></p>
<input type="submit" value="Submit" />این کد کار می کنه ولی کد بالا جواب نمی ده

Chabok
شنبه 20 مهر 1387, 15:58 عصر
سلام دوست عزیز

شما اصلا نوشته من رو خوندین ؟

من میدونم این نحوه نوشتن کد کار میده . ولی خود Radio در صفحات وب توسط GetElementById خاصیت چک شدن فرزندانش رو نمیده .

وگرنه کد شما با سایر کنترل ها مثل Div,Text,Select,Checkbox به سادگی کار میده .

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

موفق و پیروز باشید .

Coward
شنبه 20 مهر 1387, 15:59 عصر
خیلی ممنون فکر کن متوجه شدم منظورتون را

Coward
شنبه 20 مهر 1387, 17:48 عصر
میشه یک مقدار بیشتر توضیح بدین اگر با مثال باشه که چه بهتر

as13851365
یک شنبه 21 مهر 1387, 16:15 عصر
به نظر من ساده ترین راه مخفی و نمایش کردن یک div است

شما تمام حالت ها رو به صورت مجزا در یک div قرار می دهید و خواصیت dispaly رو none تنظیم می کنید و با انتخاب هر گزینه div مورد نظر رو نشان می دهید display=bloak .

Coward
یک شنبه 21 مهر 1387, 16:39 عصر
خیلی ممنون این هم راه خوبیه ولی این کد بالا فقط جنبه ی تمرین داشت و مشکلش هم حل شد کد بالا درسته فقط باید تگ p رو برمی داشتم و value را توی single quotation می گذاشتم