PDA

View Full Version : مشکل در فراخوانی جاوااسکریپت در contentplaceholder



veronika
سه شنبه 16 شهریور 1389, 17:28 عصر
دوستان سلام
من یه فرم دارم که در آن صحت کدملی با جاوااسکریپت چک میشه اما مشکل اینجاست که وقتی صفحه معمولی دارم کار میکنه ولی وقتی از نوع webcontentform هست کارنمیکنه.ممنون میشم راهنمائی کنید.



<%@PageLanguage="C#‎"MasterPageFile="~/Site1.Master"AutoEventWireup="true"CodeBehind="WebForm1.aspx.cs"Inherits="WebApplication3.WebForm1"Title="Untitled Page" %>
<asp:ContentID="Content1"ContentPlaceHolderID="head"runat="server">
<scriptlanguage=javascripttype="text/javascript">
function cMC(vmc)
{//
var mc;
mc = vmc.value;
if (mc.length == 10)
{//
if (mc == '1111111111' || mc == '0000000000' || mc == '2222222222' || mc == '3333333333' || mc == '4444444444' || mc == '5555555555' || mc == '6666666666' || mc == '7777777777' || mc == '8888888888' || mc == '9999999999')
{//
alert('کد ملی صحیح نمی باشد');
vmc.focus();
returnfalse;
}//
c = parseInt(mc.charAt(9));
n = parseInt(mc.charAt(0)) * 10 +parseInt(mc.charAt(1)) * 9 +parseInt(mc.charAt(2)) * 8 +parseInt(mc.charAt(3)) * 7 +parseInt(mc.charAt(4)) * 6 + parseInt(mc.charAt(5)) * 5 +parseInt(mc.charAt(6)) * 4 +parseInt(mc.charAt(7)) * 3 + parseInt(mc.charAt(8)) * 2;
r = n - parseInt(n / 11) * 11;
if ((r == 0 && r == c) || (r == 1 && c == 1) || (r > 1 && c == 11 - r))
{//
returntrue;
}//
else
{//
alert('کد ملی صحیح نمی باشد');
vmc.focus();
returnfalse;
}//
}//
else {//
alert('ده رقم كد ملی را وارد نمایید');
vmc.focus();
returnfalse;
}//
}//

</script>
</asp:Content>

<asp:ContentID="Content2"ContentPlaceHolderID="ContentPlaceHolder1"runat="server">



<div>

<tableclass="style1">
<tr>
<td>
<asp:TextBoxID="txtname"runat="server"></asp:TextBox>
نام
<asp:RequiredFieldValidatorID="RequiredFieldValidator1"runat="server"
ControlToValidate="txtname"ErrorMessage="RequiredFieldValidator">*</asp:RequiredFieldValidator>
</td>
<td>
&nbsp;</td>
<td>
<asp:TextBoxID="txtmeelicode"runat="server"></asp:TextBox>
</td>
<td>
کدملی</td>
</tr>
<tr>
<td>
&nbsp;</td>
<td>
&nbsp;</td>
<td>
<asp:TextBoxID="txtpass"runat="server"></asp:TextBox>
</td>
<td>
رمزعبور<asp:RequiredFieldValidatorID="RequiredFieldValidator3"
runat="server"ControlToValidate="txtpass">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
&nbsp;</td>
<td>
&nbsp;</td>
<td>
<asp:ButtonID="btnsabt"runat="server"Text="ثبت"Width="66px"
OnClientClick="cMC(Content2.txtmeelicode)"/>
</td>
<td>
&nbsp;</td>
</tr>
<tr>
<td>
&nbsp;</td>
<td>
&nbsp;</td>
<td>
&nbsp;</td>
<td>
&nbsp;</td>
</tr>
</table>

</div>

</asp:Content>

arash_coder
سه شنبه 16 شهریور 1389, 18:57 عصر
در content page ها برای دسترسی به ID کنترلها باید از ClientID استفاده شود.بنابراین شما باید کد فراخوانی و کد javascript را به شکل زیر تقییر دهید:
OnClientClick="cMC()
document.getElementById('<%=txtmelli.ClientID %>').value

موفق باشید.