رفتن به مطلب

تبدیل این کد به یه تابع


پست های پیشنهاد شده

سلام اگه امکان داره این کد رو به یه تابع تبدیل کنید .ممنونم


function result(el, msg) {
if(el.attr('switch') == 'show')
{
el.parent().parent().next().children('span').html(msg);
el.parent().parent().parent().attr('class', 'control-group ' + (msg == "" ? "success" : "error"));
}
else
{
el.parent().next().children('span').html(msg);
el.parent().parent().attr('class', 'control-group ' + (msg == "" ? "success" : "error"));
}
}
var values= new Array();
$(document).ready(function() {
$('input, select, textarea').blur(function() {
var $this = $(this);
var value = $this.val();

if(values[$(this).attr('id')]==value)
return;
values[$(this).attr('id')]=value;

switch($(this).attr('id')) {
case 'txtCardSerial':
{
if (value.match(/^[0-9]{10}$/)) {
result($this, '');
} else {
result($this, "شماره سریال معتبر نمي باشد.");
};
};


break;
case 'txtPostalCode':
{
if (value.match(/^[0-9]{10}$/)) {
result($this, '');
} else {
result($this, "کد پستي بايد شامل 10 کاراکتر عدد باشد.");
};
};
break;
};
});
});

در حقیقت میخوام وقتی که این کد به یه تابع تبدیل شد بعد در رویداد onsubmit این تابع رو فراخوانی کنم

ویرایش شده توسط iman64
لینک به ارسال
  • 2 هفته بعد...

تست کنید


function result(el, msg) {
if(el.attr('switch') == 'show')
{
el.parent().parent().next().children('span').html(msg);
el.parent().parent().parent().attr('class', 'control-group ' + (msg == "" ? "success" : "error"));
}
else
{
el.parent().next().children('span').html(msg);
el.parent().parent().attr('class', 'control-group ' + (msg == "" ? "success" : "error"));
}
}
var values= new Array();
$(document).ready(function() {
$('input, select, textarea').blur(function() {
var $this = $(this);
test($this);
});
});
function test($this){
var value = $this.val();
if(values[$(this).attr('id')]==value)
return;
values[$(this).attr('id')]=value;
switch($(this).attr('id')) {
case 'txtCardSerial':
{
if (value.match(/^[0-9]{10}$/)) {
result($this, '');
} else {
result($this, "شماره سریال معتبر نمي باشد.");
};
};


break;
case 'txtPostalCode':
{
if (value.match(/^[0-9]{10}$/)) {
result($this, '');
} else {
result($this, "کد پستي بايد شامل 10 کاراکتر عدد باشد.");
};
};
break;
};
}

لینک به ارسال

رویداد blur از کار افتاد ( اما با کد قبلی تست کردم کار میکنه) هم onsubmit هم کار نکرد براش

یه کم توضیح بدم در مورد کاری که میکنم بهتر است شاید اصلا شدنی نباشه . این یه فرم هست میخوام وقتی کاربر از فیلد عبور کرد اگه درست پر کرده باشه که هیچ وگرنه ارور مورد نظر رو براش نشون بده که شرط هاش رو گذاشتم و با کد قبلی درست کار میکنه مشکل که با کد قبل وجود داشت این بود اگه فرم چه درست پر میشد چه غلط یا اصلا اگه پر هم نمیشد ارسال میشد میخواستم وقتی ارسال که میزنم اون رویدادblur اجرا بشه و ارور ها رو نشون بده و تا موقعی که درست پر نکرده فرم ارسال نشه . البته به فرم هم نگاهی بندازید شاید جایی چیزی را از جا انداختم


<form method="post" onsubmit="test($this);">
<table class="form" style="width:100%;">
<tr class="control-group ">
<td style="width:140px;">سریال کارت:</td>
<td style="width:330px;">
<input autocomplete="off" type="text" id="txtCardSerial" name="txtCardSerial" value="" />
</td>
<td>
<span class="help-inline" ></span>
</td>
</tr>
<tr class="control-group ">
<td>کد پستی:</td>
<td>
<input autocomplete="off" type="text" maxlength="10" id="txtPostalCode" name="txtPostalCode" value="" >
</td>
<td><span class="help-inline" ></span></td>
</tr>
<tr>
<td colspan="3" style="text-align: center;padding: 20px;">
<input type="submit" class="btn btn-primary formbtn">
</td>
</tr>
</table>
</form>

ویرایش شده توسط iman64
لینک به ارسال
  • 3 هفته بعد...

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...