PDA

View Full Version : سوال: validate چك باكس ها بعد كليك باتن



ali_kashani
سه شنبه 18 اسفند 1388, 22:17 عصر
با سلام خدمت دوستان گرامي

من در فرمم چند تا چك باكس دارم كه مي خواهم وقتي روي باتن مربوته كليك مي كنم چك كنم ببينم حداقل يكي از چك باكسها تيك خورده باشد بدونه اينكه فرم به سرور فرستاده شود با استفاده مثلا از جاوا اسكريپت
با تشكر

ehsan2007
سه شنبه 18 اسفند 1388, 22:34 عصر
باید سوالتو قسمت html میپرسیدی
به هر چک باکست یک نام منحصر به فرد بده


document.getElementById("_CB").checked == true

ali_kashani
چهارشنبه 19 اسفند 1388, 16:29 عصر
سلام

شايد سوالم را درست مطرح نكرده باشم من يك چك ليست باكس دارم كه توسط data base پر مي شود حالا كاربر حتما بايد يكي از اين چك باكسها را تيك بزنه بعد روي باتن كليك حالا مي خواستم بدونم چطور بايد با جاوا كد بنويسيم كه بعد از كليك چك كنه ببينه حتما يكي از چك باكسها تيك خورده باشه :متفکر:

Vahid_moghaddam
چهارشنبه 19 اسفند 1388, 17:33 عصر
در نهایت صفحه به صورت html رندر می شه. اونجا هم می تونید از getElementById استفاده کنید. هر چک باکس یک id داره. به سورس تولید شده نگاه کنید.

Milad Mohseny
چهارشنبه 19 اسفند 1388, 21:01 عصر
اگه از checkboxlist استفاده ميكني:
<script language="javascript" type="text/javascript">
function ValidateChkList(source, arguments)
{
arguments.IsValid = IsCheckBoxChecked() ? true : false;

}

function IsCheckBoxChecked()
{
var isChecked = false;

var list =document.getElementById('<%= CheckBoxList1.ClientID %>');
if(list != null)
{
for (var i=0; i<list.rows.length; i++)
{
for (var j=0; j<list.rows[i].cells.length; j++)
{
var listControl = list.rows[i].cells[j].childNodes[0];
if(listControl.checked)
{
isChecked = true;
}
}
}
}
return isChecked;

}

</script>

<div>
<asp:CheckBoxList ID="CheckBoxList1" runat="server">
<asp:ListItem Text="First" ></asp:ListItem>
<asp:ListItem Text="Second"></asp:ListItem>
</asp:CheckBoxList>
<asp:CustomValidator ID="CustomValidator1" ClientValidationFunction="ValidateChkList"
runat="server" >Required.</asp:CustomValidator>
</div>
<div>
<asp:Button ID="Button2" runat="server" Text="Button2" OnClick="Button2_Click" />
</div>

اگر هم حتماً ميخواهي checkbox باشه از اين مثال ايده بگير:
<%@ Page language="c#" Codebehind="ValidateCheckbox.aspx.cs"
AutoEventWireup="false" Inherits="WebApplication1.ValidateCheckbox" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<script language="javascript">
function ValidateChecked(oSrc, args){
if(document.all["<%=chk.ClientID%>"].checked == false){
alert("Has to be checked.");
args.IsValid = false;
}
}
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<asp:CustomValidator ClientValidationFunction="ValidateChecked"
Runat="server" ID="val"/>
<asp:CheckBox ID="chk" Runat="server" />
<asp:Button ID="btn" Runat="server" Text="Submit" />
</form>
</body>
</HTML>

منابع:
http://forums.asp.net/t/1311985.aspx
http://www.velocityreviews.com/forums/t90638-validating-a-checkbox.html