urlencode در جاوا اسكريپت؟!

NabiKAZ

Well-Known Member
سلام
به این کد یه نگاهی بندازید:
کد:
<html>
<head>
<SCRIPT type="text/javascript">
function preview() { 
	s=document.MainForm.subject.value;
		var MainWindow = window.open ("newsletter_p.php?subject="+s , "_blank","width=640,height=400,toolbar=no,location=yes,menubar=no,scrollbars=yes,resizeable=yes,status=no");
	}
</script>
</head>
<body>
<form method="POST" name="MainForm" action="">
	<p><input type="text" name="subject" size="20"></p>
	<p><input type="button" value="Preview" name="B1" onclick="preview();"></p>
</form>
</body>
</html>
من میخوام با جاوا کاری کنم که زمانی که رو button کلیک میشه، مقدار یه فیلد text به عنوان ورودی به صورت GET به یه فایل ارسال بشه و اون پنجره هم به صورت پاپ آپ نمایش داده بشه (برای Preview ایمیل ارسالی میخوام)
در ظاهر کد بالا صحیحه. ولی در عمل، زمانی که در مقدار ارسالی از کارکترهای خاص مثل " ، # و... استفاده بشه مشکلاتی بوجود میاد یعنی باید یه عملیاتی مثل تابع urlencode در php روش صورت بگیره که عبارت ارسالی به صورت کد ارسال بشن و زمان نمایش دوباره باز بشن.
مشابه این تابع در جاوا اسکریپت چیه؟

ممنون
نبی
 
آخرین ویرایش:

NabiKAZ

Well-Known Member
حالا یه چیز دیگه
من اودم از این روش تابع preview رو تعریف کردم:
کد:
function preview_news() { 
document.MainForm.target="_blank";
document.MainForm.action="preview_p.php";
document.MainForm.submit();
}

اینجوری فیلد مورد نظر دیگه لازم نیست به صورت GET ارسال بشه و بصورت POST ارسال میشه .
حالا سوال اینجاست که چطوری میشه فرم جدیدی که ظاهر میشه و submit تو اون پنجره رخ میده رو ابعادش رو تغییر داد و یا ثابت کرد. توجه کنید که از تابع بالا استفاده شده برای سابمیت.

ممنون
نبی
 

mazoolagh

Active Member
در سمت کلاینت تابع escape هست ولی عمکردش معادل URLEncode سمت سرور نیست! با این وجود ممکنه برای کار شما جواب بده.
 

NabiKAZ

Well-Known Member
تشکر از mazoolagh

مشکل اول رو با استفاده از روشی که در پست دوم گفتم یه جوری حل کردم. اما مشکل دوم که در پست دوم مطرح شد همچنان باقیست .

نبی
 

NabiKAZ

Well-Known Member
ببین!
من با حاوا اسکریپت . فرمم رو اینجوری تو یه صفحه جدید سابمیت میکنم ! میخوام پنجره سابمیت جدید که به این طریق باز میشه ابعادش طبق میلم باشه .. گرفتی؟
کد:
document.MainForm.target="_blank";
document.MainForm.action="preview_p.php";
document.MainForm.submit();


بازم از دوستان ممنون
نبی
 

mazoolagh

Active Member
اختیار ابعاد صفحه جدید که اطلاعات رو بهش پست میکنی با خودت نیست مگر از window.open استفاده کنی - توی همون صفحه جدید باید اینکار رو بکنی.
 

mazoolagh

Active Member
اگر از window.open استفاده میکنی که میتونی ابعاد صفحه رو کنترل کنی ولی اگر صفحه مورد نظرت بعنوان action یک فرم هست باید در کد سمت کلاینت همون صفحه ابعاد رو کنترل کنی و صفحه ارسال کننده اطلاعات هیچ کنترلی روی این قضیه نداره.
 

NabiKAZ

Well-Known Member
خوب اشکالی نداره !
منظورت اینه که دستورات تغییر فرم رو باید تو فایل دوم که داره سابمیت میشه بنویسیم ؟ خوب فرقی نمیکنه تو فایل اول باشه یا دوم . مهم اینه که سایز به دلخواه تغییر کنه .
یعنی باید راهی پیدا کرد که خود پنجره ای که داره باز میشه اندازه خودش رو تغییر بده !!! اینطوری هم نمیشه ؟!
 

mazoolagh

Active Member
توضیح قبلی که دادم کاملا واضح بود و راه حل رو هم نشون میداد - چرا اینقدر مسئله رو پیچیده میکنی؟ :-?
اگر با پارامترهای window.open آشنا نیستی یا کد سمت کلاینت تغییر ابعاد صفحه رو میخوای واضح بگو :D
 

NabiKAZ

Well-Known Member
حالا کد تغییر اندازه پنجره سمت کلاینت رو لطف کنید بدید...
ببینم به درد میخوره یا نه
پارامتر های windows.open هم میدونم ولی این دستور فقط پنجره رو باز میکنه اطلاعات فرم رو نمیتونه به فایلی که باز میکنه ارسال کنه (یعنی سابمیت کنه) و برای سابمیت کردن در پنجره جدید باید از همون چند خط دستوری که قبلا گفتم استفاده بشه که اونها هم قابلیت تغییر ابعاد پنجره رو ندارن.....

منم کر میکنم واضح دارم مشکلم رو میگم ..

به هر حال ممنون
نبی
 

mazoolagh

Active Member
NabiKAZ گفت:
حالا کد تغییر اندازه پنجره سمت کلاینت رو لطف کنید بدید...
ببینم به درد میخوره یا نه
صددرصد بدردت میخوره
کد سمت کلاینت برای تغییر اندازه و تغییر محل پنجره
HTML:
<body onload="window.resizeTo(400,300); window.moveTo(100,200)">



NabiKAZ گفت:
پارامتر های windows.open هم میدونم ولی این دستور فقط پنجره رو باز میکنه اطلاعات فرم رو نمیتونه به فایلی که باز میکنه ارسال کنه (یعنی سابمیت کنه)
سابمیت میکنه به چه خوشگلی :D ولی نه از طریق فرم بلکه بصورت query string که در مقابل آدرس صفحه ظاهر میشه

NabiKAZ گفت:
منم کر میکنم واضح دارم مشکلم رو میگم ..
شاید هم IQ من پایینه :lol:
 

AliReza26

Active Member
براي اين كاري كه ميخواهي انجام بدي بهترين راه اينه كه :
1 - پنجره اي بصورت window.open() باز كني
2 - در پنجره باز شده مقدار فيلد تكست را با استفاده از دستور opener.document.MainForm.subject.value مقدار فيلدت را بخوني و توي يك فيلد hidden بذاري....
3 - بعد هم كه راحت تو پنجره باز شده مقدار فيلد hidden آماده براي هر كاري است......

موفق باشي......
 

Jo0o0oje hacker

New Member
مازولق معلومه كه خيلي لقي علاوه بر لق بودن خودت دهن لق هم هستي.
معلومه كه خيلي دلت پره ميدونم كجات ميسوزه . در ضمن اينم ميدونم كه چرا اون جواب احمقانه رو دادي
تربيت صحيح رو در لق بودن خودت ميبيني يا ...؟
نمرديمو آخرش يكي به ما گفت جوات !!!!
ميخواي تو قرار برنامه نويسان وب بيا كف كني .اشكول
معلومه كه اصلا بويي از تربيت و ... نبردي . ميدوني به اون آدمايي كه خودشونو الكي قاطي ميكنن چي ميگن ؟
اگه خواستي پي ام بده علاوه بر اينكه اونو ميگم يه حالي هم به ايديت بدم

از بروبچ با حال سايت هم معذرت ميخوام كه از اين الفاظ استفاده كردم بايد با هر كس به زبون خودش باهاش رفتار شه و در حد لياقتش كه فكر كنم از اينا بيشتر بود .

در ضمن از مدير كل انجمن ها ميخوام كه ايپي اين يوزر رو با يوزر يكي از مدير ها چك كنه كه همه بدونين جريان از چه قراره.چون خدايي اين رسمش نيست مگه هر كي هر جا كم آورد بايد توهين كنه ؟

باز هم ميگم : دانا چو طبله عطار خاموش و هنر نماست !!!!
 

Jo0o0oje hacker

New Member
میخواستم این حرفا رو تو پی ام بهت بگم ولی معلومه بار اولت نیست که .. میخوری برا همین پی اماتو بستی.
 

Ali_ix

Well-Known Member
Jo0o0oje hacker گفت:
میخواستم این حرفا رو تو پی ام بهت بگم ولی معلومه بار اولت نیست که .. میخوری برا همین پی اماتو بستی.
ببین جوجه ! دفعه آخرته اینجا شلوغ میکنی یا به کسی توهین میکنی !

بار چندمی هست که تکرار میکنی و باهات برخورد میشه !

چون شعورت هم نمیرسه احتیاجی نیست از مازولاق معذرت خواهی کنی ..

جناب مازولاق من به خاطر این جوجه از شما معذرت میخوام ;)
 

kami_mz

Well-Known Member
Jo0o0oje hacker گفت:
مازولق معلومه كه خيلي لقي علاوه بر لق بودن خودت دهن لق هم هستي.
معلومه كه خيلي دلت پره ميدونم كجات ميسوزه . در ضمن اينم ميدونم كه چرا اون جواب احمقانه رو دادي
تربيت صحيح رو در لق بودن خودت ميبيني يا ...؟
نمرديمو آخرش يكي به ما گفت جوات !!!!
ميخواي تو قرار برنامه نويسان وب بيا كف كني .اشكول
معلومه كه اصلا بويي از تربيت و ... نبردي . ميدوني به اون آدمايي كه خودشونو الكي قاطي ميكنن چي ميگن ؟
اگه خواستي پي ام بده علاوه بر اينكه اونو ميگم يه حالي هم به ايديت بدم

از بروبچ با حال سايت هم معذرت ميخوام كه از اين الفاظ استفاده كردم بايد با هر كس به زبون خودش باهاش رفتار شه و در حد لياقتش كه فكر كنم از اينا بيشتر بود .

در ضمن از مدير كل انجمن ها ميخوام كه ايپي اين يوزر رو با يوزر يكي از مدير ها چك كنه كه همه بدونين جريان از چه قراره.چون خدايي اين رسمش نيست مگه هر كي هر جا كم آورد بايد توهين كنه ؟

باز هم ميگم : دانا چو طبله عطار خاموش و هنر نماست !!!!
جنابعالي خودت ادبو رعايت کن کردن ديگران پيش کش!
بار آخره که مي گم: يه بار ديگه تکرار بشه برخورد ميشه.
 

kami_mz

Well-Known Member
ضمن عرض پوزش از دوستاني که مشکلي رو توي اين تاپيک مطرح کرده بودند پست هاي اضافي به زودي حذف خواهند شد.
 

Jo0o0oje hacker

New Member
Ali_ix گفت:
Ali_ix نوشته اصلي ارسال شده توسط
ببین جوجه ! دفعه آخرته اینجا شلوغ میکنی یا به کسی توهین میکنی !

بار چندمی هست که تکرار میکنی و باهات برخورد میشه !

چون شعورت هم نمیرسه احتیاجی نیست از مازولاق معذرت خواهی کنی ..

جناب مازولاق من به خاطر این جوجه از شما معذرت میخوام ;)



نمرديم و معني شعور رو فهميديم شعور كي اينطوري بهت ياد داده پسرم .هر وقت گفتم ..4ن. بگو من
از اول هم تقصير من نبود
مي خوام بگم ملت هم بدونن قضيه از اونجا شروع شد كه من يه سوال در رابطه با ويژوال بيسيك داشتم ولي به جاي اينكه به من جواب سوالمو بدن الكي پست دادن يكي ميگه موضوع تايپيك قلطه يكي مثل مازولق اومده اونجا كلي بد و بيرا گفته
يا جواب آدمو بدين يا اينكه جواب هاي هوي است ( ملت نظر بدين ) درسته يا نه ؟
آقاي مدير تو خودت بياي يه سوال بپرسي بلانسبت تو خونوادتو ببرم زير علامت سوال به من چي ميگي؟
ميگي دستت درد نكنه ؟ يا ....
خب منم منظورم همونايي هست كه فكر نكنم معني معرفت و خيلي چيزاي ديگه رو بلدن .
خلاصه اين كه برين تايپيك رو ببينيد بعد بياين اينجا رو بگيرين زير ....
بعدشم نظر بدين
جناب كامي از شما هم معذرت ميخوام شما هم اول تايپيك منو ببين كه مازولق اونجا پست داده ببين چا خورده بعد نظر خودتونو بگين اگه تقصير من بود كه حرف شما قبوله اگه نه قبول كنيد حق با منه
وقتي آدم با كلي گرفتاري مياد كانكت ميشه انتظار داره جواب سوالشو بگيره نه اين كه اونجا رو با بعضي جاها اشتباه بگيره .حتي اگه خوتو هم جاي من بودي همين كارو ميكردي
در ضمن كامي جان چند تا از ايپي ها رو چك كن با ايپي تايپيك قبلي .بعد خودت ميفهمي جريان از چه قراره؟

از تمام كساني كه اين پست ها رو خوندن و ناراحت شدن معذرت ميخوام به جز يارواي بالا
كلاه خودتونو قاضي كنيد اگه حق با من بود كه هيچ و لي اگه حق با شما بود اخطار بدين اعدام كنيد
 

جدیدترین ارسال ها

بالا