يه تابه كه يه تكست باكس رو چك كنه ...

شروع موضوع توسط nima_khaneyedoo ‏20 فوریه 2004 در انجمن HTML

  1. nima_khaneyedoo

    nima_khaneyedoo کاربر تازه وارد

    تاریخ عضویت:
    ‏27 دسامبر 2003
    نوشته ها:
    19
    تشکر شده:
    0
    ببین توضیح کلیش اینه:
    این تابع زیری تابعیه که کامنت شما رو تو پرشین بلاگ چک میکنه که نام و متن نظرت رو وارد کرده باشی(من قسمت های مربوط به ماکزیمم طول پیغام و درست بودن ای میل رو برداشتم):
    این توی
    head
    قرار میگیره
    کد:
    function comment_submit(el) {
    	if (el.commentName.value=='') {
    		alert ('!نام خالى است');
    		el.commentName.focus();
    		return false;
    	}
    
    	if (el.commentEmail.value!='' && !validate_email(el.commentEmail.value)) {
    		alert ('!پست الکترونيکى مجاز نمى باشد');
    		el.commentEmail.focus();
    		el.commentEmail.select();
    		return false;
    	}
    
    	if (el.commentBody.value=='') {
    		alert ('!متن پيام خالی است');
    		el.commentBody.focus();
    		return false;
    	}
    
    	if (el.commentBody.value.length > 1024) {
    		alert ('!حداكثر متن پيام 1024 حرف ميباشد');
    		el.commentBody.focus();
    		return false;
    	}
    
    	el.sendcom.disabled=true;
    
    	return true;
    }
    </script>
    این تابع موقعی که کاربر روی دکمه فرستادن کلیک میکنه نام و اینارو اینجوری چک میکنه
    یعنی تگ فرم پرشین بلاگ این شکلیه
    :
    کد:
    <form method="post" action="/ucomments.asp?...." onsubmit="return comments_submit(this)"> 
    من این تابع رو برای تنظیم کردم که با توجه به این که فیلد های ذخیره شده تو ام تی فرق میکنه وقتی که به صورت ناشناس میشه نظر داد حتما از وارد شدن نام و متن کامنت مطمئن بشه..اونم با یه پیغام خطا
    این توی
    head
    قرار میگیره
    :
    کد:
    <script language="JavaScript">
    function comments_submit(el) {
    	if (el.author.value=='') {
    		alert ('وارد کردن نام ضروری است');
    		el.author.focus();
    		return false;
    	}
    
    	if (el.text.value=='') {
    		alert ('چیزی ننوشتی که');
    		el.text.focus();
    		return false;
    	}
    
    	el.post.disabled=true;
    
    	return true;
    }
    </script>
    اما تنها مشکل همینجاست که موقعی که کاربر فرم رو پر کرده و کلید فرستادن رو میزنه از چه جوری باید این تابع
    مقادیر نام و متن رو چک کنه چون تگ فرم ام تی از اول این شکلیه
    :
    کد:
    <form method="post" action="<$MTCGIPath$><$MTCommentScript$>" name="comments_form" onsubmit="if (this.bakecookie[0].checked) rememberMe(this)">
    یعنی من اونجا که می خوام مثه پرشین بلاگ تابع رو چک کنم یعنی توی
    on submit
    از قبل یه کوکی چک میشه...اگه هم اینو مثلا این شکلی اضافه کنیم
    کد:
    onsubmit="if (this.bakecookie[0].checked) rememberMe(this);return comments_submit(this)">
    اون موقه کار میکنه اما دیگه نظر داده شده نمی آد و ثبت نمیشه...
    حالا کسی بازم نیست که کمک کنه که من این تابع رو چه جوری چک کنم؟
     
  2. بازدیدیار - افزایش بازدید سایت و سیگنال های برندخرید بک لینک
  3. Mashaheer

    Mashaheer مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏5 می 2003
    نوشته ها:
    1,972
    تشکر شده:
    17
    محل سکونت:
    UAE
    دوست عزيز بهتر نيست كه كدهاي رو بين دو تگ كد قرار بدي؟
    در مورد مشكلتون فكر كنم مي تونيد ابتدا اين اجازه رو بديد كه اگر كسي به صورت ناشناس ميخواد كامنت بنويسه مشكلي نداشته باشه و بعد در كد مربوطه رو اضافه كني كه اگر اسم نداشت ازش ايراد بگيره (البته من تا به حال امتحان نكرم كه جواب ميده يا نه)
     
عسل طبیعی و گرده گل ایرانیخدمات پی پال، وسترن یونیون