我有一个带有输入字段ESN的表单,用户输入的数字通常以0开头,然后是一堆随机数(基本上就像一个序列号)。在这个esn之后,我有一个调用javascript代码的复选框
esn1 = 012345678998875
esn2 = 321446894441146
这是我的剧本:
//change picked up to yes
function applyPickedUp(row_id){
var ESN = row_id; //phoneID
$.ajax({
url: "savepickedup.php",
type: "GET",
//pass data like this
data: {ESN:ESN},
cache: false,
success: function(data) {
if (data=="1")
$('#message').html("<div class='alert alert-success'>Record updated! Refresh to remove ESN from report.</div>" );
}
});
//start the ajax
}
我的问题是,当ESN从0开始时,脚本会丢弃零,因此它不会更新我的数据库。因此,例如esn 012345678998875变为12345678998875。只要ESN不以0开头,我的代码就可以了。请指教。谢谢。
答案 0 :(得分:3)
尝试在javascript字符串中创建变量。改变这个:
esn1 = 012345678998875
esn2 = 321446894441146
对此:
esn1 = "012345678998875";
esn2 = "321446894441146";
答案 1 :(得分:2)
嗯,你有两个问题。首先,如果您在Javascript中声明以前导0
开头的数字变量,则可能会编写八进制数。如果Javascript不包含任何8或9,则Javascript会将其解释为八进制。例如:
num = 012345678998875; // num is 12345678998875
num = 012345677777755; // num is 718048067565 (!)
其次,无论如何都不能将前导零编码成数字,并且这些数字足够长,如果你再添加一个数字,那么你将面临溢出Javascript数值范围的危险。基本上,如果这些数字主要用于识别而不是用于数学目的,则需要将这些数字视为字符串。
esn1 = "012345678998875";