PDA

View Full Version : چرا این کدها به برنامه اضافه می شه ؟؟؟



mmnoody2006
پنج شنبه 20 خرداد 1389, 20:05 عصر
سلام به همه دوستان
راستش متوجه یه مشکلی تو برنامه ای که دارم می نویسم شدم و اونم اینه که دو تا کد
جاوا اسکریپت مسخره بدون اجازه من به بعضی از صفحات اضافه می شن :


<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['aspnetForm'];
if (!theForm) {
theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>


و


<script type="text/javascript">
//<![CDATA[
function WebForm_OnSubmit() {
if (typeof(ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) return false;
return true;
}
//]]>
</script>


این دو تا نمی زارن کاربر با فشار کلید اینتر فرم رو ثبت کنه و حتما باید با ماوس
روی دکمه کلیک کنه اگه کسی می دونه یه کمکی هم به ما بکنه :قهقهه:

mehdi.mousavi
پنج شنبه 20 خرداد 1389, 20:13 عصر
سلام.
برای اینکار، شما میتونید Panel ای تعریف کنید و در این Panel، خصیصه DefaultButton رو مساوی ID ی دکمه ای بذارید که میخواهید توی Panel مزبور Default در نظر گرفته بشه.

موفق باشید.

hamedsabzian
پنج شنبه 20 خرداد 1389, 20:18 عصر
فکر نمی کنم مسخره باشن! قاعده ی ASP برای PostBack کردنه.
تا جایی که من می دونم همه ی PostBack ها از طریق __doPostBack انجام میشه.

__EVENTTARGET
__EVENTARGUMENT
این HiddenField ها سمت سرور چک میشن تا بفهمه که این رویداد PostBack رو کی فراخونی کرده، مثلا اگر Button بود، بره و تابعش رو فراخونی کنه.
هر فرمی یک خاصیت دکمه ی پیشفرض داره که اگه توی یکی از فیلد های فرم اینتر بزنی، انگار زو اون دکمه کلیک کردی.

mmnoody2006
پنج شنبه 20 خرداد 1389, 20:29 عصر
با تشکر از دوستان همیشه باحال برنامه نویس بعد از سرچ در اینترنت و راهنمایی دوستان فهمدیم که
validation هایی که در فرم ها استفاده می کنم این کد ها رو تعریف می کنن