شنبه ۲۲ شهریور ۱۴۰۴

Saturday, September 13, 2025 GMT +3:30

کار با تگ فرم (form) در HTML

html-form

تقریبا در هر سایت یا وبلاگی و به طور کل در هر صفحه وبی عناصری تعاملی وجود دارد که کاربر می تواند نسبت به آنها عکس العمل داشته باشد، به طور مثال بر روی دکمه ای کلیک کند یا از بین گزینه های مربوط به نظرسنجی یک مورد را انتخاب نماید، شکل برجسته این عناصر تعاملی فیلد ها و فرم هایی هستند که کاربران با تکمیل اطلاعات آنها و با کلیک بر روی دکمه ارسال، مقادیری را به سرور و پایگاه داده سایت یا وبلاگ مورد نظر ارسال می کنند، از آنجایی که این نوع امکانات در صفحات وب، وابسته به تگ form و عناصر زیرمجموعه آن است، لذا فراگیری دقیق این مبحث می تواند در آینده نزدیک دید شما را نسبت به تکنولوژی وب عمیق تر و چه بسا یک قدم به سمت برنامه نویسی حرفه ای نزدیک تر کند.

تگ form در html


همان طور که پیش تر گفتیم، تگ فرم با هدف ایجاد قابلیت های تعاملی (دکمه، فیلدهای متنی، امکان آپلود فایل و...) برای صفحات html تعریف شده است، در واقع کنسرسیوم جهانی وب یا w3c این نکته را مد نظر داشته که صفحات وب باید از قابلیت ارتباط دو سویه برخوردار باشند، یعنی همان طور که به فرض مدیران یک سایت می توانند مطالبی در آن منتشر کنند، کاربران نیز باید بتوانند در محتوای آن مشارکت داشته یا از قابلیت های آن به صورت سفارشی استفاده نمایند، به این ترتیب و به تدریج عناصر و ویژگی های تعاملی که شباهت های زیادی با هم داشتند در قالب یک تگ با عنوان فرم (form) و زیرمجموعه های آن معرفی شد.
یک فرم ساده به صورت زیر در html تعریف می شود.
<form>
</form>
تگ form به تنهایی کاربردی ندارد و تنها معرف ایجاد یک امکان تعاملی ار نوع فرم است، لذا این تگ را با موارد زیر تکمیل می کنیم.

خاصیت action در form


از آنجایی که اطلاعات یک فرم html پس از تکمیل شدن باید به یک فایل در سرور ارسال شود، خاصیت action برای تعیین آدرس فایل مقصد مورد استفاده قرار می گیرد، به طور مثال اطلاعات فرم زیر (در صورت ارسال) به یک فایل با نام get.php فرستاده خواهد شد.
<form action="user/comment/get.php">
</form>
مقادیر خاصیت action می تواند به صورت آدرس کامل (با //:http) یا به صورت آدرس دایرکتوری (مانند مثال بالا) در نظر گرفته شود.

خاصیت method در form


در کنار action که مقصد اطلاعات یک فرم را معیین می کند، خاصیت method شیوه ارسال را مشخص می کند، این شیوه می تواند به یکی از دو شکل post یا get (حالت پیش فرض) باشد، در متد post، اطلاعات دور از چشم ما و به صورت پنهانی، در پس زمینه به سرور ارسال می شوند اما در متد get، اطلاعات در نوار آدرس مرورگر قابل مشاهده هستند و به صورت پارامترهایی به همراه مقادیر به سرور ارسال می شوند، متد post برای ارسال مقادیر طولانی، اطلاعات حساس کاربری، آپلود فایل و... کاربرد دارد و متد get بیشتر برای ارسال اطلاعات کوتاه و با حساسیت کمتر به کار می رود.
<form action="user/comment/get.php" method="get">
</form>
نکته: متد get و post هر دو از شیوه های استاندارد HTTP برای نقل و انتقال اطلاعات هستند و در برخی زبان های برنامه نویسی مانند Ajax یا فریم ورک های مربوط به آن (مانند jQuery) ممکن است کارکردی مشابه داشته باشند، لذا تفاوت های عنوان شده در آموزش، حالت معمول و کدنویسی html را مد نظر دارد.

تگ های زیرمجموعه form


همان طور که اشاره شد، تگ form به تنهایی قابلیت خاصی در اختیار کاربران قرار نمی دهد، بلکه با کمک تگ ها و خاصیت های دیگر است که امکانات بالقوه آن قابل استفاده است، این تگ ها به طور کلی شامل input، select و textarea می شوند که در زیر کاربرد آنها توضیح داده شده است.
- تگ input: با خاصیت هایی که می پذیرد برای ایجاد دکمه های رادیویی، فیلدهای متنی (متن کوتاه)، دکمه ارسال، فیلدهای مربوط به کلمه عبور، فیلد آپلود فایل و... کاربرد دارد، تگ input باید به صورت یکتا استفاده شود.
- تگ select: تگ select در کنار تگ option قابلیت ایجاد منوهای بازشونده و انتخاب یک یا چند مورد را فراهم می کند، تگ select باید به صورت جفتی استفاده شود.
- تگ textarea: برای ایجاد فیلدهای ورود متن (متن طولانی) کاربرد دارد، تگ textarea باید به صورت جفتی استفاده شود.

تگ input در form


اصلی ترین تگی که به همراه تگ form در ایجاد قابلیت های تعاملی نقش دارد، input است که با تنظیم type های مختلف برای آن می توان انواع مختلفی از امکانات نظیر فیلد متنی (text)، فیلد کلمه عبور (password)، دکمه معمولی (button)، دکمه ارسال (submit) و ... را ایجاد کرد، در زیر چند نمونه اولیه از نحوه تعریف و به کارگیری تگ input را ملاحظه می کنید.
<form action="user/comment/get.php" method="get">
<input type="button" />
<input type="checkbox" />
<input type="hidden" />
<input type="password" />
<input type="submit" />
<input type="text" />
</form>
مقادیری که تگ input برای خاصیت type می پذیرد و کاربرد آنها به صورت خلاصه در زیر عنوان می شود.

نوع button


برای ایجاد دکمه های ساده به کار می رود، یک دکمه معمولی باید به همراه دستورات جاوا اسکریپت تکمیل شود در غیر این صورت به خودی خود کاربردی ندارد، به طور مثال:
<form action="user/comment/get.php" method="get">
<input type="button" value="دکمه" onclick="javascript:alert('دکمه در تگ فرم باید با دستورات جاوا اسکریپت تکمیل شود')" />
</form>

نوع checkbox


از این مقادیر به همراه تگ input برای ایجاد باکس های قابل تایید (چک باکس) استفاده می شود، مثال:
<form action="user/comment/get.php" method="get">
<input type="checkbox" checked="checked" name="choose" value="1" />
</form>
اگر به مثال های بالا دقت کرده باشید، هر مقادیر زیرمجموعه، می تواند تنظیمات به خصوصی نیز داشته باشد، به فرض وقتی برای چک باکس از پارامتر checked استفاده می شود، یعنی حالت پیش فرض آن را به صورت انتخاب شده تنظیم می کنیم، یا پارامتر name باعث می شود تا اطلاعات فرم پس از ارسال در سرور قابل دریافت باشد (اطلاعات هر تگ با نام آن قابل شناسایی است).
نکته: خاصیت value برای دکمه ها، صرفا حالت نمایشی دارد، اما برای سایر موارد به عنوان مقادیر پیش فرض، به سرور ارسال می شود.

نوع file


برای آپلود یک فایل به سرور استفاده می شود، به طور مثال:
<form action="user/comment/get.php" method="get" enctype="multipart/form-data">
<input type="file" name="file-name" accept="image/gif,image/jpg,application/pdf" />
</form>
برای اینکه نوع file به درستی عمل کند، باید enctype (رمزنگاری) را با مقادیر multipart/form-data به تگ form اضافه کنیم.
نکته: پارامتر اختیاری accept مشخص کننده فرمت های مجازی است که از طریق فیلد، قابل آپلود هستند، این فرمت ها بر اساس استاندارد MIME یا (Multipurpose Internet Mail Extensions) مشخص می شوند، اگرچه MIME در اصل استانداردی برای نقل و انتقال اطلاعات از طریق ایمیل در وب است، اما برای صفحات وب نیز کاربرد دارد، برای کسب اطلاعات بیشتر می توانید در لینک زیر لیست تقریبا کاملی از فرمت ها و معادل آنها در استاندارد MIME را ملاحظه کنید.
لیست فرمت ها و معادل آنها در استاندارد MIME

نوع hidden


برای ایجاد فیلدهای مخفی کاربرد دارد، مقادیر فیلدهای مخفی ثابت است و بدون تغییر کاربر به سرور ارسال می شود، مثال:
<form action="user/comment/get.php" method="get">
<input type="hidden" name="hidden-name" value="1" />
</form>
نوع hidden کاربردهای خاصی دارد، به طور مثال با تنظیم یک فیلد مخفی، می توان از ارسال شدن یک فرم اطمینان حاصل کرد یا برخی بررسی های امنیتی را با آن انجام داد.

نوع image


از نوع image برای ایجاد یک دکمه ارسال فرم (که خود از یک تصویر به عنوان پس زمینه استفاده می کند) استفاده می شود، مثال:
<form action="user/comment/get.php" method="get">
<input type="image" src="image/image.jpg" alt="submit" />
</form>
نکته: نوع image علاوه بر ارسال فرم، مختصات موقعیت خود در صفحه را نیز به سرور ارسال می کند، این مختصات به صورت دو پارامتر X و Y دریافت می شوند که هر کدام با یک مقدار عددی موقعیت افقی و عمودی تصویر را در صفحه مشخص می کنند.

نوع password


از نوع password برای ایجاد فیلدهای کلمه عبور (ستاره ای) استفاده می شود، مثال:
<form action="user/comment/get.php" method="get">
<input type="password" name="pass" maxlength="25" />
</form>
اگر در مثال بالا دقت کرده باشید، یک پارامتر دیگر نیز به فرم خود اضافه کرده ایم، این پارامتر maxlength نام دارد که از آن برای تعیین حداکثر کاراکتر مجاز یک فیلد (معمولا فیلد متنی و پسورد) استفاده می شود.
نکته: استفاده از نوع password در فرم های وب (فیلدهای کلمه عبور) از لحاظ حفظ امنیت کاربران اهمیت زیادی دارد.

نوع radio


از نوع radio برای ایجاد دکمه های رادیویی تایید شونده در فرم های وب استفاده می شود، مثال:
<form action="user/comment/get.php" method="get">
<input type="radio" name="radio-box" value="1" />
</form>

نوع reset


نوع reset برای ایجاد یک دکمه که با کلیک بر روی آن اطلاعات فیلدها به حالت پیش فرض برمی گردد کاربرد دارد، مثال:
<form action="user/comment/get.php" method="get">
<input type="reset" value="نوشتن از نو" />
</form>
نکته: استفاده از این قابلیت باید با دقت انجام شود، چرا که کلیک ناخواسته بر روی دکمه rest باعث از دست رفتن اطلاعات فعلی فیلدها می شود.

نوع submit


نوع submit برای ایجاد دکمه ارسال اطلاعات فرم کاربرد دارد، مثال:
<form action="user/comment/get.php" method="get">
<input type="submit" value="ارسال" />
</form>

نوع text


از نوع text برای ایجاد فیلدهای متنی (متن کوتاه) استفاده می شود، مثال:
<form action="user/comment/get.php" method="get">
<input type="text" name="text-feild" maxlength="255" />
</form>

تگ select در form


در صفحات html برای ایجاد یک منوی کشویی که دارای چند گزینه باشد، از تگی به نام select به همراه تگ زیرمجموعه آن یعنی option استفاده می شود، به طور مثال:
<form action="user/comment/get.php" method="get">
<select name="select-option">
<option value="0" selected="selected">انتخاب کنید</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</form>
نکته: خاصیت selected گزینه پیش فرض یک منو را مشخص می کند.
در حالت عادی هر تگ select مجاز به ارسال تنها یک مقدار است، لذا برای ارسال مقادیر چندگانه، باید خاصیت multiple را به این تگ اضافه کنیم، مثال:
<form action="user/comment/get.php" method="get">
<select name="select-option[]" multiple="multiple">
<option value="0" selected="selected">انتخاب کنید</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</form>
نکته 1: برای انتخاب چند گزینه از یک منوی select، کلید Ctrl را نگهداشته و گزینه های خود را انتخاب کنید.
نکته 2: اطلاعات فرم چندگانه به صورت یک آرایه به سرور ارسال می شود و علامت [] در انتهای نام منو بدین منظور نیاز است (درک مفهوم آرایه هدف این آموزش نیست، اما جهت آشنایی بیشتر و به زبان ساده آرایه در برنامه نویسی زبان های سمت سرور مانند php، asp و... به معنی یک متغیر است که درون خود چند متغیر دیگر دارد).

تگ textarea در form


در کنار دو تگ اصلی input و select عنصر دیگری در صفحات وب جهت ایجاد قابلیت های تعاملی نقش کلیدی دارد، این عنصر تگ textarea است که جهت ایجاد فیلدهای متنی (متن طولانی) به عنوان مثال برای وارد کردن یادداشت، ارسال مطلب، نمایش یک متن کپی رایت و... کاربرد دارد، به طور مثال:
<form action="user/comment/get.php" method="get">
<textarea name="your-text" cols="50" rows="8">
متن خود را اینجا بنویسید
</textarea>
</form>
تنظیم یک فیلد از نوع textarea به وسیله خاصیت های زیرمجموعه آن از جمله cols (ستون ها) و rows (سطرها) صورت می گیرد، از cols برای تعیین عرض و از rows برای ارتفاع استفاده می شود.
نکته 1: اندازه ها برای cols و rows صرفا جهت نمایش دلخواه فیلد کاربرد دارند و مانع ورود کاراکترهای بیشتر نمی شوند، برای محدود کردن تعداد کاراکتر مجاز از خاصیت maxlength استفاده کنید (البته محدودیت کاراکتر می تواند در سرور اعمال گردد یا در صفحات وب از تکنیک های دیگری مانند جاوا اسکریپت برای نمایش حداکثر کاراکتر مجاز به کاربر استفاده شود).
نکته 2: در حالت پیش فرض، هر فیلد متنی از نوع textarea ممکن است با اندکی تفاوت (از لحاظ ارتفاع و عرض) در مرورگرهای مختلف نمایش داده شود، برای تنظیم دقیق و یکسان اندازه باید از CSS استفاده کنیم (که خود مبحثی جدا است).

خاصیت readonly


تگ textarea برای نمایش متن های readonly (صرفا خواندنی) نیز کاربرد دارد، به طور مثال می توان با افزودن خاصیت readonly به آن، یک متن برجسته شده را جهت مطالعه کاربر به او نشان داد (کاربر قادر به تغییر متن نیست)، مثال:
<form action="user/comment/get.php" method="get">
<textarea name="your-text" cols="50" rows="8" readonly="readonly">
متن خود را اینجا بنویسید
</textarea>
</form>

خاصیت های disabled


برای غیر فعال کردن تگ های فرم (به طور کلی) از خاصیتی به نام disabled استفاده می شود، با این کار اگرچه فرم ها به ظاهر نمایش داده می شوند، اما عملا کاربر قادر به وارد کردن اطلاعات یا انتخاب موردی نیست، مثال:
<form action="user/comment/get.php" method="get">
<textarea name="your-text" cols="50" rows="8" disabled="disabled">
متن خود را اینجا بنویسید
</textarea>
</form>
نکته: خاصیت disabled محدود به تگ textarea نیست و عمومیت دارد.

استفاده از label در form


برای ایجاد برچسب های استاندارد در فرم های وب، از تگی (جفتی) به نام label استفاده می شود، label در واقع نقش معرف و برچسب را برای یک تگ فرم ایفا می کند، مثال:
<form action="user/comment/get.php" method="get">
<label for="my-text">یادداشت:</label>
<textarea name="your-text" cols="50" rows="8" id="my-text">
متن خود را اینجا بنویسید
</textarea>
</form>
همان طور که ملاحظه می کنید، label از یک id برای شناسایی فیلد مربوطه استفاده می کند، در واقع برای هر فیلدی که قصد تعریف برچسب داریم، یک id تعریف کرده و با خاصیت for برچسب را به آن نسبت می دهیم.
نکته: در کنار خاصیت های عنوان شده، برخی خواص کلی مانند class، dir، id، lang و... نیز برای تگ های فرم قابل اعمال است.
مثال و پیش نمایش آنلاین
در زیر یک مثال کاربردی از تگ form و پیش نمایش آنلاین آن را ملاحظه می کنید.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>وبگو | استفاده از فرم در صفحات وب</title>
<!-- https://webgoo.ir -->
<style type="text/css">
body{
    font-family:Tahoma, Geneva, sans-serif;
    font-size:12px;
    direction:rtl;
    line-height:20px;    
}
label{
    width:100px;
    height:25px;
    display:inline-block;
    vertical-align:top;
}
</style>
</head>
<body>
<form action="form-get.php" method="post">
<label for="name">نام:</label>
<input type="text" name="name" id="name" maxlength="255" />
<br />
<label for="pass">رمز:</label>
<input type="password" name="pass" id="pass" maxlength="255" />
<br />
<label for="pass">کشور:</label>
<select name="country" id="country">
<option value="" selected="selected">انتخاب کنید</option>
<option value="Iran">ایران</option>
<option value="Japan">ژاپن</option>
<option value="Afghanistan">افغانستان</option>
<option value="Germany">آلمان</option>
<option value="Australia">استرالیا</option>
</select>
<br />
<label for="text">یادداشت:</label>
<textarea name="text" id="text" cols="30" rows="6">
</textarea>
<br />
<input type="submit" value="ارسال" />
</form>
<hr />
اطلاعات فرم بالا پس از ارسال (متد post)، به فایلی با نام فرضی form-get.php فرستاده شده و پردازش می شود.
</body>
</html>
پیش نمایش
دسته بندی: آموزش مقدماتی » HTML
related مطالب بیشتر:
تگ های اصلی و کلیدی HTML
کاربرد تگ img و نمایش تصاویر در HTML
فرمت بندی و کار با متن و پاراگراف در HTML
لایه بندی در HTML با تگ div و span
کار با تگ های ایجاد کننده لیست در HTML
دیدگاه
more ۱۲۸ دیدگاه برای این مطلب ارسال شده است.
more چینش دیدگاه ها به ترتیب از جدیدترین به قدیمی ترین است.
۲۳:۵۱ ۱۳۹۲/۰۵/۰۴
سلام و خسته نباشید.
سوال من در مورد همون صفحه ای هست که گفتین باید اطلاعات فرم بهش فرستاده بشه؟
برای طراحی و ایجاد این صفحه باید چی کار کرد و آیا در محیط وبلاگ کاربران می تونن بهش دسترسی داشته باشن؟
من از چه طریقی به اطلاعات ارسال شده توسط کاربرا از فرم می تونم دسترسی داشته باشم؟
شادکام و پیروز باشید.
سلام
اطلاعات فرم باید به یک فایل با فرمت PHP ، ASP و... ارسال شود، یعنی باید از یک زبان سمت سرور برای دریافت و پردازش اطلاعات استفاده کنید، هر زبانی نیز متدهای خاص خودش را دارد که برای آگاهی از آنها باید به آموزش های مربوطه مراجعه نمائید، به عبارت دیگر ایجاد فرم HTML تنها اولین گام برای دریافت مقادیر است، گام دوم آشنایی با نحوه دریافت اطلاعات ارسال شده در PHP یا ASP است.
نکته: در وبلاگ چنین کاری امکانپذیر نیست، باید یک سایت با هاست شخصی داشته باشید.
farzan
۱۰:۲۳ ۱۳۹۲/۰۴/۲۳
سلام
میبخشین که سوالم واضح نبود! منظورم همون نکته بود ولی با یه توضیح که میخوام هم یه ارتفاع اولیه داشته باشه و هم ارتفاعش auto باشه. مشکل اول با راهنمایی شما حل شد و دومی نه.
سلام
خاصیت height و min-height را در یک استایل ترکیب کنید، مثال:
<div style="border:1px solid; height:auto; min-height:20px;"></div>
به این صورت بلاک حداقل 20 پیکسل ارتفاع خواهد داشت و حداکثر ارتفاع آن نیز با توجه به محتوا به صورت خودکار خواهد بود.
farzan
۱۵:۴۶ ۱۳۹۲/۰۴/۲۲
سلام
ممنون که وقت میزارین و به سوالات پاسخ میدین.
یه سوال در مورد html داشتم: چطور میشه به یه div که محتوا نداره ارتفاع auto داد؟
سلام
دادن ارتفاع به عناصر html به صورت auto با CSS امکانپذیر است، مثال:
<div style="height:auto;"></div>
که البته این روش استایل دهی خطی است.
نکته: اگر منظورتان این است که یک بلاک با وجود نداشتن محتوا، مقادیر ارتفاع اولیه ای داشته باشد، باید از min-height استفاده کنید.
مهدی
۱۲:۰۰ ۱۳۹۲/۰۴/۱۹
سلام
من میخوام داخل یه
<textarea></textarea>
قالب وبلاگ بذارم که اگه داخل کدهای این قالب
<textarea></textarea>
باشه کدهای بعد از اون به هم میریزه یعنی
</textarea>
دوم رو پایانش قرار میده و کدهای باقی قالب رو بیرون نشون میده
چطور میشه داخل
<textarea></textarea>
یه
<textarea></textarea>
دیگه قرار داد؟
سلام
باید از معادل HTML علامت های <> استفاده کنید، این معادل هم می تواند به صورت دستی و هم با توابعی در PHP ایجاد شود، به فرض با تابع htmlspecialchars، مثال:
<?php
echo htmlspecialchars('<textarea></textarea>');
?>
که سورس به صورت زیر تبدیل شده، اما در ظاهر به شکل عادی نمایش داده می شود:
&lt;textarea&gt;&lt;/textarea&gt;
farzan
۱۱:۲۵ ۱۳۹۲/۰۴/۱۹
سلام و خسته نباشید.
می خواستم ببینم چطوری میشه برای کاربر محدودیتی در فرمت فیلدهای فرم اعمال کرد؟ مثلا عدد از نوع integer باشد.
سلام
این محدودیت یا باید در سمت سرور و با جاوا اسکریپت اعمال شود (که قابل اتکا نیست)، مثال:
<script type="text/javascript">
function CheckInt(){
var elements = Array('test_1', 'test_2');
var reg = /^[0-9]+$/;
var str = null;
for($i = 1; $i <= elements.length; $i++){
str = document.getElementById('test_' + $i).value;
if(!reg.test(str)){
alert('مقادیر معتبر نیست');
return false;
}
}
return true;
}
</script>
<form action="#" name="form" method="post" onsubmit="CheckInt();">
<input type="text" name="test_1" id="test_1"><br>
<input type="text" name="test_2" id="test_2"><br>
<input type="submit" value="ارسال">
</form>
یا در سمت سرور و کدنویسی PHP که روش توصیه شده است، مثال:
<?php
$str = $_POST['str'];
function CheckInteger($value){
if(preg_match("/^[0-9]+$/", $value)){
return TRUE;
}
return FALSE;
}
if(CheckInteger($str)){
//ok
}
else{
//error
}
?>
مریم
۱۷:۴۲ ۱۳۹۲/۰۴/۱۷
سلام. اولا ممنون از سایت خوبتون. تا حالا که خیلی بهم کمک کرده.
دوما یه سوال. چه طور میتونم یه مقدار پیش فرض توی باکس های فرم قرار بدم. خواستم از value استفاده کنم اما اینطوری نتونستم مقدار رو عوض کنم. لطفا راهنمایی کنید.
سلام
مقادیر پیش فرض با همان خاصیت value در نظر گرفته می شود و قابل تغییر است!
اما اگر منظور شما حذف مقدار پیش فرض در صورت کلیک کاربر داخل فیلد است، باید از جاوا اسکریپت استفاده کنید، مثال:
<script type="text/javascript">
function formclear(thisfield, defaulttext) {
if (thisfield.value == defaulttext) {
thisfield.value = "";
}
}
function formrecall(thisfield, defaulttext) {
if (thisfield.value == "") {
thisfield.value = defaulttext;
}
}
</script>
<form method="get" action="http://www.google.com/search" dir="rtl" style="font-family:Tahoma, Geneva, sans-serif; font-size:12px; border:1px solid #999; padding:4px; width:250px;" target="_blank">
<input type="text" name="q" size="22px" maxlength="255" value="جستجو..." style="font-family:Tahoma, Geneva, sans-serif; font-size:12px;" onclick="formclear(this, 'جستجو...')" onblur="formrecall(this, 'جستجو...')" />
<input type="submit" value="جستجو در گوگل" style="font-family:Tahoma, Geneva, sans-serif; font-size:12px;" /><br />
<input type="hidden" name="sitesearch" value="http://webgoo.ir" />
</form>
صادق
۰۹:۵۴ ۱۳۹۲/۰۴/۰۶
سلام مي بخشيد من مي خوام از يك فرم كه ساختم توي 2 صفحه نتيجه بگيرم يك صفحه مثلا با زدن دكمه ويرايش واردش بشم و يك صفحه با زدن دكمه delete واردش بشم اما فرم من يكي باشد آيا چنين امكاني وجود داره ؟
خيلي از راهنمايي هاتون متشكرم
سلام
برای این کار باید در هنگام ارسال، قسمت action فرم را تغییر دهید که این کار با جاوا اسکریپت امکان پذیر است، مثال:
<input type="submit" value="ویرایش" onclick="this.form.action='index.php?action=edit';">
<input type="submit" value="حذف" onclick="this.form.action='index.php?action=delete';">
در این مثال، اطلاعات فرم به فایل فرضی index.php با دو پارامتر از طریق متد GET ارسال می شوند.
نکته: لازم نیست متد استفاده شده در فرم (در قسمت method تگ form) نیز متد get باشد، همین که پارامترهای مربوط به متغیر فرضی action از طریق تنظیم در قسمت آدرس، برای کد PHP مقصد قابل دریافت باشد کافی است.
صادق
۱۲:۳۸ ۱۳۹۲/۰۴/۰۲
سلام من میخوام عناصر یک drop down list رو بگذارم داخل یک آرایه (توی html) و در هنگام صدا زدن در داخل فرم اونها رو در چند متغیر ذخیره کنم یا توی یک متغیر (که بعد داخل database ذخیره کنم) میشه راهنمایی کنید
با تشکر
سلام
برای دریافت اطلاعات به صورت آرایه برای لیست های بازشونده باید از خاصیت multiple استفاده کنید، مثال:
<form action="index.php" method="post">
<select name="select" multiple="multiple" size="4">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<br>
<input type="submit" value="ارسال">
</form>
سپس مقادیر را در سرور به یک متغیر نسبت دهید و در حلقه for یا foreach از کلید ها و مقدار آرایه استفاده کنید، مثال:
<?php
@$select_array = mysql_real_escape_string($_POST['select']);
//print_r($select_array);
foreach($select_array as $key => $value){
$query = mysql_query("INSERT INTO tbl (col) VALUES ('$value')");
}
?>
۱۲:۰۰ ۱۳۹۲/۰۳/۲۸
دوست عزیز من چند تا ابزار (امار گیری و نظر سنجی و فونتهای زیبا سازی که براتون فرستادم) به عنوان ابزار های وبلاگ نویس ها می خوام درست کنم هزینه اش چند میشه؟
ممنون
متاسفانه در حال حاضر فرصتی برای انجام پروژه برنامه نویسی در اختیار نداریم.
فرشید
۱۲:۱۳ ۱۳۹۲/۰۳/۲۷
سلام
اول تشکر میکنم از سایت مفیدتون من اشکالی داشتم ممنون میشم کمکم کنید
لطفا لینک زیر را بعد قبل از تایید نظرات حذف کنین
حذف شد
میخواستم حروفی که در بالا مینویسم با کلیک بر روی یکی از حروف زیر حروف نوشته شده در بالا هم نشان داده شود هم اینکه کد تولید شده در زیرش در داخل textarea برای کاربر نشان داده شود من چی کار باید بکنم ممنون میشم راهنماییم کنید
سلام
متاسفانه دقیقا متوجه منظور سوال شما نشدیم، ضمن اینکه اشکال نباید کلی باشد! یعنی انتظار ندارید که بخشی از اسکریپت را برایتان بنویسیم، حل مشکل یعنی در بخش خاصی از کد کمکتان کنیم، در حال حاضر اسکریپت شما جزء خروجی HTML بخش دیگری ندارد (هسته کار نوشته نشده است).
صادق
۱۵:۴۴ ۱۳۹۲/۰۳/۱۵
ممنون
صادق
۱۳:۲۶ ۱۳۹۲/۰۳/۱۵
سلام دو تاسوال داشتم چطور میتونیم عکس رو توی فرم بگیریم و (در بازیابی فرم خود عکس رو نمایش بدیم) و چه طور میشه از یک متغیر که توی فرم دریافت کردیم (مثل مقداری که توی یک textbox دریافت شده) در صفحات دیگه غیر مقصد استفاده کنیم.
سلام
برای دریافت یک عکس باید با نحوه آپلود فایل در PHP (یا سایر زبان های سمت سرور) آشنا باشید، سپس فایل را در سرور و دیتابیس ذخیره کرده و در صورت نیاز نمایش دهید، برای مورد دوم نیز راه های مختلفی وجود دارد، متداول ترین شیوه استفاده از سشن آی دی است، یعنی یک نشست را شروع کرده و مواردی که نیاز به اشتراک بین صفحات مختلف دارند را به صورت سشن آی دی تعریف می کنیم (بحث مفصلی است که باید به صورت مستقل مطالعه کنید)، شیوه های دیگری نیز وجود دارد که پیشرفته تر هستند، مانند اشتراک گذاری متغیرها بین کلاس های مختلف، همچنین می توان برنامه را طوری طراحی کرد که فایل ها به شیوه include به هم مرتبط باشند.
خاتمی
۱۵:۱۱ ۱۳۹۲/۰۳/۱۴
سلام و با تشکر از خدمات خوبتون
چجوری میشه یه فرم که مثلا user1 و user2 و user3 رو میخواد وقتی دکمه submit رو زدیم بره به آدرس
www.site.com/?esm=user1&esmekamel=user2&esme3=user3
سلام
کافی است بخش اصلی آدرس را در قسمت action درج کرده و فرم را با متد get ارسال کنید.
برای پارامترها، از مقادیر name در فیلد ها استفاده کنید، مثال:
<form action="www.site.com/?" method="get">
<input type="text" name="esm"><br>
<input type="text" name="esmekamel"><br>
<input type="text" name="esme3"><br>
<input type="submit" value="ارسال">
</form>
صادق
۰۹:۰۳ ۱۳۹۲/۰۳/۱۴
واقعا کارتون عالیه خیلی متشکر
صادق
۱۹:۴۱ ۱۳۹۲/۰۳/۱۳
سلام خسته نباشید یه سوال دیگه داشتم می خواهم دو عدد check box بزارم که هر کدوم انتخاب شد یه drop down list باز بشه و در صورت انتخاب نشدن یعنی تیک آن که برداشته شد drop down list هم نشان داده نشود
سلام
می توانید از نمونه کد زیر استفاده کنید:
<style type="text/css">
#sub{
visibility:hidden;
}
</style>
<input type="checkbox" name="checkbox_1" id="checkbox_1" onclick="ShowSub('sub');" >
<input type="checkbox" name="checkbox_2" id="checkbox_2" onclick="ShowSub('sub');" >
<select name="sub" id="sub">
<option value="3">3</option>
<option value="4">4</option>
</select>
<script type="text/javascript">
function ShowSub(id){
var checkbox_1 = document.getElementById('checkbox_1').checked;
var checkbox_2 = document.getElementById('checkbox_2').checked;
if(checkbox_1 == true || checkbox_2 == true){
var visible = 'visible';
}
else{
var visible = 'hidden';
}
document.getElementById(id).style.visibility = visible;
}
</script>
more لطفا پیش از ارسال دیدگاه نکات زیر را مد نظر داشته باشید:
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.



 refresh
10 × 10
7 × 4
20 × 20
=