PDA

View Full Version : سوال: تفاوت دکمه های submit و button در چی هست؟



phpweb
یک شنبه 17 بهمن 1389, 10:33 صبح
چرا توی فرم های html از دونوع دکمه submit و button برای ارسال فرم استفاده می کنن؟

تفاوت دکمه های submit و button در چی هست؟

hossin.esm
یک شنبه 17 بهمن 1389, 12:19 عصر
دکمه از نوع submit اطلاعات را به سمت سرور میفرستد.
ولی از نوع button این کار را انجام نمی دهد و فقط جنبه یک button معمولی را دارد.

maysam.m
یک شنبه 17 بهمن 1389, 13:00 عصر
تگ های input و buton کاربردهای زیادی دارند.
نوع submit در تگ input برای ارسال داده ها است و نوع submit در تگ button هم برای ارسال داده ها است
به نظر خودم فقط می شود تنظیمات بیشتری روی دکمه ارسال در تگ button داشت! مثلا به جای دکمه عکس گذاشت و .. در کل تفاوت آنچنانی ندارند.

phpweb
یک شنبه 17 بهمن 1389, 17:53 عصر
لطفا بیشتر توضیح بدید.

phpweb
یک شنبه 17 بهمن 1389, 17:58 عصر
دکمه از نوع submit اطلاعات را به سمت سرور میفرستد.
ولی از نوع button این کار را انجام نمی دهد و فقط جنبه یک button معمولی را دارد.

امکانش هست که اینها رو به جای هم استفاده کنیم؟

hossin.esm
یک شنبه 17 بهمن 1389, 18:20 عصر
بله میشه تا حدودی استفاده کرد

iran.sky
جمعه 26 اردیبهشت 1393, 12:33 عصر
سلام. چطور میشه از هر دو بصورت همزمان استفاده کرد؟
من برای سیستم آپلود تصمیم دارم progressBar اضافه کنم ولی برای اجرای اون چون ajax هستش با button اجرا میشه و با submit کار نمیکنه. هم چنین اگه از button استفاده کنم progressBar کار میکنه اما آپلود انجام نمیگیره و برای آپلود به submit نیاز هستش. دوستان اگه راهنمایی کنند ممنون میشم

smksmk
شنبه 27 اردیبهشت 1393, 17:21 عصر
submit رو وقتی که میخای submit کنی استفاده میکنی ولی button رو وقتی میخای مثلاً مقادیر رو توسط جاوااسکریپت چک کنی یا یه function براش بنویسی یا یه کاری باش بکنی کلاً .

iran.sky
یک شنبه 28 اردیبهشت 1393, 11:24 صبح
submit رو وقتی که میخای submit کنی استفاده میکنی ولی button رو وقتی میخای مثلاً مقادیر رو توسط جاوااسکریپت چک کنی یا یه function براش بنویسی یا یه کاری باش بکنی کلاً .
این رو میدونم برای button فانکش مربوطه رو نوشتم و بعد کلیک بر روی دکمه اش فانکشن بدرستی انجام میشه و میزان پیشرفت آپلود رو هم نشون میده اما من باید بتونم هم از submit واسه آپلود فایل استفاده کنم هم از button برای اجرای فانکش تا موقعی که عمل آپلود انجام میگیره هر دو همزمان اجرا بشند. مشکل من اینه که هر دو رو درست نشوتم و تکی تکی اجرا میشند اما من میخوام هر دو وقتی یه دکمه رو میزنم همزمان باهم اجرا بشند یعنی هم عمل اپلود صورت بگیره هم درصد پیشرفت آپلود رو نشون بده

smksmk
یک شنبه 28 اردیبهشت 1393, 11:27 صبح
ارسال اطلاعات دیگه دکمه submit رو نمیخاد ، توی همون فانکشنی که گفتین باید بنویسین .

iran.sky
یک شنبه 28 اردیبهشت 1393, 17:48 عصر
ارسال اطلاعات دیگه دکمه submit رو نمیخاد ، توی همون فانکشنی که گفتین باید بنویسین .
اگر ممکنه راهنمایی کنید که چطور اینکارو انجام بدم این دستور فانکشن


<script>
function _(el){
return document.getElementById(el);
}
function uploadFile(){
var file = _("file").files[0];
//alert(file.name+" | "+file.size+" | "+file.type);
var formdata = new FormData();
formdata.append("file", file);
var ajax = new XMLHttpRequest();
ajax.upload.addEventListener("progress", progressHandler, false);
ajax.addEventListener("load", completeHandler, false);
ajax.addEventListener("error", errorHandler, false);
ajax.addEventListener("abort", abortHandler, false);
ajax.open("POST", "file_upload_parser.php");
ajax.send(formdata);
}
function progressHandler(event){
_("loaded_n_total").innerHTML = " آپلود گردیده "+event.loaded+" بایت از مجموع "+event.total;
var percent = (event.loaded / event.total) * 100;
_("progressBar").value = Math.round(percent);
_("status").innerHTML = Math.round(percent)+"% آپلود شد... لطفا صبر کنید";
}
function completeHandler(event){
_("status").innerHTML = event.target.responseText;
_("progressBar").value = 0;
}
function errorHandler(event){
_("status").innerHTML = "Upload Failed";
}
function abortHandler(event){
_("status").innerHTML = "Upload Aborted";
}
</script>


که با این دکمه اجرا میشه


<button name='button' type='button' value="upload" onclick="uploadFile()" class="button" >شروع آپلود</button>

اما عمل اپلود انجام نمیگیره چون نیاز به اجرای دکمه ای به این شکل داره

<button name='submit' type='submit' value="upload" onclick="uploadFile()" class="button">شروع آپلود</button>

چطور باید اینکاری که شما گفتین رو انجام بدم اگر میشه نمونه ای بیارید یا روی همین کد های گذاشته شده تغییرات رو انجام بدید