【发布时间】:2015-12-18 03:13:47
【问题描述】:
我有以下代码以某种格式显示带有电话号码的输入字段。即,如果电话号码以 33,55 或 81 开头,我将其显示为 (33) 1234-5678。如果电话号码以任何其他号码开头,则格式为 (123) 456-7890。
现在,问题是当我提交表单时,它被提交为 (33) 1234-5678。但我应该提交 3312345678 并显示 (33) 1234-5678。
有人可以帮助我,我该如何解决这个问题。我没有使用任何 jquery 插件;
<input id="criterion" name= "criterion" type="tel" class="inputboxBg" size="15" maxlength="60" style="width:85%;" value="" placeholder="" onkeypress = "submitOnReturn(event);">
jQuery(document).ready(function() {
jQuery("#criterion").change(function () {
var searchBy = jQuery('#smartWirelessSearch').val();
if(searchBy == 'Mobile'){
jQuery(this).attr("criterion", $(this).val());
var twoDigit = jQuery('#criterion').val().substr(0, 2);
var threeDigit = jQuery('#criterion').val().substr(0, 3);
var remainingDigits = jQuery('#criterion').val().substr(2, 10);
if (twoDigit == '33' || twoDigit == '55' || twoDigit == '81') {
jQuery('#criterion').val('('+twoDigit+')'+' '+remainingDigits.substr(0,4)+'-'+remainingDigits.substr(4,8));
} else {
jQuery('#criterion').val('('+threeDigit+')'+' '+remainingDigits.substr(1,3)+'-'+remainingDigits.substr(4,8));
}
}
});
});
【问题讨论】:
-
使用隐藏输入来存储电话号码的原始值。
-
@Amir 你能不能给它的代码sn-p
-
隐藏的输入在这里没有多大帮助,因为每次按键都会更新输入。为什么不把输入框下面的值打印出来呢?当用户输入他们的数字时,你为什么要编辑输入的实际值?
-
@Duncan 客户需要这种方式.. 使用相同的文本字段获取号码并提交未更改的号码
-
我建议使用 {string}.replace()
标签: javascript jquery