PDA

View Full Version : محدود کردن زدن کلید + در یک input textbox



omidmetal90
چهارشنبه 02 بهمن 1392, 12:29 عصر
سلام خسته نباشید به همه
من یه فیلد شماره تلفن دارم که میشه کشور هارو شماره شونو وارد کرد و درست کردم که 00 وقتی زده شد تبدیل بشه به + و حالا اگه + رو هم خواست بزنه فقط یک بار زده بشه و سمت چپم حتما باشه مثل مثال زیر :



009814654654
+9814654654

مثلا اگر وسط شماره خواست از + استفاده کنه جلوشو بگیره
جلوی کاراکتر های دیگرو گرفتم فقط این مشکلم حل شه کارم تمومه
ممنوم میشم کمک کنین تو این مورد با جیکوئری
تشکر

azamicu
پنج شنبه 03 بهمن 1392, 19:11 عصر
سلام دوست عزیز من شبیه به این آموزش رو توی سایتم توضیح دادم
اینم لینکش : http://sarat.ir/SelectedEducation.aspx?itemName=%D9%85%D8%AD%D8%AF %D9%88%D8%AF%20%DA%A9%D8%B1%D8%AF%D9%86%20%20%DB%8 C%DA%A9%20input%20%D8%A8%D9%87%20%D8%A7%D8%B9%D8%A F%D8%A7%D8%AF
امیدوارم بدردت بخوره و اگه سوالی هم داشتی بنده در خدمتم

omidmetal90
پنج شنبه 03 بهمن 1392, 21:56 عصر
سلام دوست عزیز من شبیه به این آموزش رو توی سایتم توضیح دادم
اینم لینکش : http://sarat.ir/SelectedEducation.aspx?itemName=%D9%85%D8%AD%D8%AF %D9%88%D8%AF%20%DA%A9%D8%B1%D8%AF%D9%86%20%20%DB%8 C%DA%A9%20input%20%D8%A8%D9%87%20%D8%A7%D8%B9%D8%A F%D8%A7%D8%AF
امیدوارم بدردت بخوره و اگه سوالی هم داشتی بنده در خدمتم


داداش من که خودم یکی بهترشو نوشتم اینم میذارم خواستی استفاده کن :


si_input.keydown(function(e){
if (e.ctrlKey || e.altKey) { // if shift, ctrl or alt keys held down
e.preventDefault(); // Prevent character input
} else {
var n = e.keyCode;
if (!((n == 8) // backspace
|| (n == 9) // tab button
|| (n == 13) // Enter command
|| (n == 46) // delete
|| (n >= 35 && n <= 40) // arrow keys/home/end
|| (n >= 48 && n <= 57) // numbers on keyboard
|| (n == 107) // add plus
|| (n >= 96 && n <= 105)) // number on keypad
) {
e.preventDefault( ); // Prevent character input
}
}
});


من گفتم فقط یه + بشه تو input زد نه بیشتر اونم فقط سمت چپ اعداد اگه وسط یا سمت راست زد اضافه نشه

azamicu
چهارشنبه 09 بهمن 1392, 21:48 عصر
سلام دوست عزیز
اگه شما بهتره شو نوشتی این که کاری نباید داشته باشه برات :چشمک:

توی keyup مقدار اینپوت رو بگیر اگه خالی بود بزار یه + زده بشه و اگه نبود نزار مثلا با return false فکر نمیکنم کار زیاد سختی باشه

omidmetal90
پنج شنبه 10 بهمن 1392, 01:23 صبح
سلام دوست عزیز
اگه شما بهتره شو نوشتی این که کاری نباید داشته باشه برات :چشمک:

توی keyup مقدار اینپوت رو بگیر اگه خالی بود بزار یه + زده بشه و اگه نبود نزار مثلا با return false فکر نمیکنم کار زیاد سختی باشه

ممنون!
ولی این چیزی که من میخواستم این بود که فرضا ما کلی عدد وارد تکست کردیم و اولشم مثبت زدیم و اینجا میخوایم بگیم که اگه کاربر وسط اون همه عدد با اینکه اول همشون یه دونه مثبت زده شده!! ، دوباره یه مثبت دیگه زده بشه ازش جلوگیری کنه!
مفهوم بود حرفم ؟ :لبخند:

azamicu
پنج شنبه 10 بهمن 1392, 20:42 عصر
سلام
سناریو شما اینه که فقط اول بتونی + بزاره خوب وقتی خالی بود اجازه بدید اگر نبود نه یا میتونی وقتی که + گذاشت اونو با + split بکنی و ببینی اگه [0] اون خالی بود اجازه بدی و اگر نبود نه هزار تا روش مختلف داره

omidmetal90
جمعه 11 بهمن 1392, 00:16 صبح
سلام
سناریو شما اینه که فقط اول بتونی + بزاره خوب وقتی خالی بود اجازه بدید اگر نبود نه یا میتونی وقتی که + گذاشت اونو با + split بکنی و ببینی اگه [0] اون خالی بود اجازه بدی و اگر نبود نه هزار تا روش مختلف داره

ممنون دوست عزیز دنبال همین آخریه که گفتی می گشتم split !
مرسی یه دنیا