نقل قول: نمایش پیغام در چند خط
نقل قول: نمایش پیغام در چند خط
برای خط جدید باید از n\ استفاده کنید...
توی کدتون باید توی خط 17، کاراکتر / قبل از script اسکیپ(قبلش یه \ قرار بگیره) بشه یعنی به این شکل در بیاد: <script/\>
eror = "";
if (cmbgroup.Text == "")
eror = "لطفا گروه را انتخاب کنید \n";
if (txtquistion.Text == "")
eror += "لطفا متن سوال را بنویسید \n";
if (txtcase1.Text == "")
eror += "لطفا جواب قسمت 1 را بنویسید \n";
if (txtcase2.Text == "")
eror += "لطفا جواب قسمت 2 را بنویسید \n";
if (txtcase3.Text == "")
eror += "لطفا جواب قسمت 3 را بنویسید \n";
if (txtcase4.Text == "")
eror += "لطفا جواب قسمت 4 را بنویسید \n";
if (cmbanswer.Text == "")
eror += "لطفا مشخص کنید کدام گزینه صحیح است \n";
if (eror != "")
document.write('<script>alert(' + eror + ')<\/script>');
البته چون محیط asp ندارم نتونستم تستش کنم... اگه جواب نداد باید ببینید چه اروری میده.. برای اینکار میتونید از DevTools کروم (قسمت console) استفاده کنید.
نقل قول: نمایش پیغام در چند خط
وقتی از n/ استفاده میکنم و دکمه ای که کد رو اجرا میکنه میزنم ویژال یه کادر ارور باز میکنه
JavaScript critical error....
script 1015:unterminated string constant
نقل قول: نمایش پیغام در چند خط
بجای n/ باید از n\ استفاده کنید..
ارور میگه که string درست بسته نشده... بخاطر اینه که شما از / (کنار n برای ایجاد خط جدید) استفاده کردید.
/ باید با \ escape بشه... مثل همون کاری که آخر خط 17 با <script/\> کردیم..
بصورت کلی بعضی از کاراکترها معنی خاصی دارن و بصورت معمولی نمیتونید توی رشته ها ازشون استفاده کنید (وسطای این صفحه توی یه جدول همشون رو آورده)
یکی از این کارکترها " هست ... " توی جاوااسکریپت برای تعریف string استفاده میشه... پس نمیتونید ازش مثلا برای نشون دادن نقل قول توی انگلیسی استفاده کنید، یعنی این اشتباست:
var str = "he said, "he was sorry"";
برای استفاده بی دردسر باید قبل این کاراکترهای خاص از \ استفاده کنید و به اصطلاح escape شون کنید. مثال بالا بعد از escape شدن:
var str = "he said, \"he was sorry\"";
http://www.htmlgoodies.com/beyond/ja...le.php/3470891
نقل قول: نمایش پیغام در چند خط
وقتی n\ میزارم خود همین حرف و کارکتر رو تو پیغام نوشن میده :افسرده:
1 ضمیمه
نقل قول: نمایش پیغام در چند خط
نمیدونم والا..
ببینید این کد الان خروجیش همونیه که مد نظر شماست:
var eror = "";
eror = "لطفا گروه را انتخاب کنید \n";
eror += "لطفا متن سوال را بنویسید \n";
document.write("<script>alert(eror);<\/script>");
ضمیمه 114481
این خطتون رو هم باید اینجوری بنویسید:
document.write('<script>alert(eror);<\/script>');
1 ضمیمه
نقل قول: نمایش پیغام در چند خط
حرف شما درسته و کد تو محیط جاوا اسکریپت بدرستی عمل میکنه. اما تو asp ارور میده.
جالب اینه که ارور که میده کدها تو محیط ویژال استدیو درست نمایش میده. اما نمیدونم چیکار کنم که ارور ظاهر نشه و پیغام تو مرورگر ایجاد بشه.
ضمیمه 114487
نقل قول: نمایش پیغام در چند خط
دوست عزیز شما باید از <br /> استفاده کنی نه از \n
نقل قول: نمایش پیغام در چند خط
میشه لطف کنی و بگی به چه صورت بزارم.
چون داخل دابل کوتیشن که میزارم تو پیغام عینا چاپ میشه و بیرونشم که میزارم ارور میده
نقل قول: نمایش پیغام در چند خط
داداش واقعا شرمنده ... چون نمیتونم خودم تست کنم مجبورم همینجوری یه تیری تو تاریکی بندازم :چشمک:
یه asp کار هم از این طرفا رد نمیشه تا یکم بدادمون برسه!
اینو همینجوری یهو به ذهنم رسید... اگه کار کرد بگو تا بعدا توضیح بدم... اگه کار نکرد... :افسرده:
eror = "";
if (cmbgroup.Text == "")
eror = "لطفا گروه را انتخاب کنید \ \n";
if (txtquistion.Text == "")
eror += "لطفا متن سوال را بنویسید \ \n";
if (txtcase1.Text == "")
eror += "لطفا جواب قسمت 1 را بنویسید \ \n";
if (txtcase2.Text == "")
eror += "لطفا جواب قسمت 2 را بنویسید \ \n";
if (txtcase3.Text == "")
eror += "لطفا جواب قسمت 3 را بنویسید \ \n";
if (txtcase4.Text == "")
eror += "لطفا جواب قسمت 4 را بنویسید \ \n";
if (cmbanswer.Text == "")
eror += "لطفا مشخص کنید کدام گزینه صحیح است \ \n";
if (eror != "")
document.write('<script>alert(eror);<\/script>');
ویرایش (کد بالا ویرایش شد):
چون داری مقدار متغیر eror رو توی داکیومنت write میکنید، و از طرفی هم توی متغیر از n\ برای ایجاد خط جدید استفاده میکنید، انگار این دستور رو دارید اجرا میکنید:
alert('لطفا گروه را انتخاب کنید
لطفا متن سوال را بنویسید');
به همین دلیل باید از \ انتهای هر خط رشته استفاده کرد تا بشه string هایی که چند خطی هستن رو چاپ کرد:
alert('لطفا گروه را انتخاب کنید \
لطفا متن سوال را بنویسید');
در مورد کد شما، چون دارید با n\ خط جدید ایجاد میکنید باید قبل از n\ از \ برای حل مشکل چند خطی بود رشته رو حال کنید.
نقل قول: نمایش پیغام در چند خط
اینم کدی که اینقدر دنبالش میگشتید
string strMsg = "Hi";
Response.Write(@"<script>alert('My Message\n" + strMsg + "');</script>");
نقل قول: نمایش پیغام در چند خط
Javidhb ممنون از لطفت اما کار نکرد داداشم.
Mohammad_dn
این کد که گذاشتین فرق میکنه!!!
متن تو متغیر eror باید شکسته بشه
نقل قول: نمایش پیغام در چند خط
بیشتر دقت کنید!!!
کد جدید:
string error = @"My Message\nHi";
Response.Write(@"<script>alert('" + error + "');</script>");
نقل قول: نمایش پیغام در چند خط
دمت گرم. مشکل پس از اتس ساین @ بود که نمیزاشتم. اما نمیدونم کاربرد عملیش چیه.
کد نهایی واسه کسایی که به چنین مشکلی برخورد کردند:
eror = "";
if (cmbgroup.Text == "")
eror = @"لطفا گروه را انتخاب کنید \n";
if (txtquistion.Text == "")
eror += @"لطفا متن سوال را بنویسید \n";
if (txtcase1.Text == "")
eror += @"لطفا جواب قسمت 1 را بنویسید \n";
if (txtcase2.Text == "")
eror += @"لطفا جواب قسمت 2 را بنویسید \n";
if (txtcase3.Text == "")
eror += @"لطفا جواب قسمت 3 را بنویسید \n";
if (txtcase4.Text == "")
eror += @"لطفا جواب قسمت 4 را بنویسید \n";
if (cmbanswer.Text == "")
eror += @"لطفا مشخص کنید کدام گزینه صحیح است \n";
if (eror != "")
{
Response.Write(@"<script language='javascript'>alert('" + eror + "');</script>");
}