منتخب بازارچه

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

nima_khaneyedoo

کاربر تازه وارد
ببین توضیح کلیش اینه:
این تابع زیری تابعیه که کامنت شما رو تو پرشین بلاگ چک میکنه که نام و متن نظرت رو وارد کرده باشی(من قسمت های مربوط به ماکزیمم طول پیغام و درست بودن ای میل رو برداشتم):
این توی
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)">
اون موقه کار میکنه اما دیگه نظر داده شده نمی آد و ثبت نمیشه...
حالا کسی بازم نیست که کمک کنه که من این تابع رو چه جوری چک کنم؟
 

Mashaheer

مدیر بازنشسته
کاربر فعال
دوست عزيز بهتر نيست كه كدهاي رو بين دو تگ كد قرار بدي؟
در مورد مشكلتون فكر كنم مي تونيد ابتدا اين اجازه رو بديد كه اگر كسي به صورت ناشناس ميخواد كامنت بنويسه مشكلي نداشته باشه و بعد در كد مربوطه رو اضافه كني كه اگر اسم نداشت ازش ايراد بگيره (البته من تا به حال امتحان نكرم كه جواب ميده يا نه)
 
بالا