[英]Javascript indexOf condition not behaving as expected
我有一個在window.onload上運行的javascript函數:
if(window.onload) {
var curronload = window.onload;
var newonload = function() {
curronload();
formatICCID_IMEI();
};
window.onload = newonload;
} else {
window.onload = formatICCID_IMEI;
function formatICCID_IMEI() {
var IMEI = $find("<%=cbIMEI.ClientID %>");
alert(IMEI.get_textBoxControl().value);
alert(IMEI.get_textBoxControl().value.indexOf("."));
if (IMEI.get_textBoxControl().value.indexOf(".") > -1) {
alert("Hi!");
}
}
我正在使用通過此鏈接調用函數的更精細的方法,因為如果僅使用window.onload或document.onload,則找不到控件(cbIMEI)。 使用這種更精細的方法,我沒有這個問題。 但是,我的函數formatICCID_IMEI行為異常。 我不知道這是由於我調用formatICCID_IMEI的方式還是由於我沒有看到的formatICCID_IMEI引起的。 如果我注釋掉
if (IMEI.get_textBoxControl().value.indexOf(".") > -1) {
alert("Hi!");
第一和第二警報告訴我
IMEI.get_textBoxControl().value = 351937.04.230880.7
然后
IMEI.get_textBoxControl().value.indexOf = 6
一切都如預期。 但是,如果我注釋掉上面的兩個警報行並取消注釋IF條件,則該行
alert("Hi!");
永遠不會運行。 如果我取消注釋所有行,則不會運行任何警報。 如果我處於調試模式,則相同的行為也適用。 如果條件未注釋,則我的光標根本不會進入函數。 有沒有搞錯?
您沒有if(window.onload)
條件的右括號-這是故意的嗎?
既然您使用的是jQuery,為什么不只使用標准的$(document).ready
東西呢?
function formatICCID_IMEI() {
var IMEI = $find("<%=cbIMEI.ClientID %>");
alert(IMEI.get_textBoxControl().value);
alert(IMEI.get_textBoxControl().value.indexOf("."));
if (IMEI.get_textBoxControl().value.indexOf(".") > -1) {
alert("Hi!");
}
}
$(document).ready(formatICCID_IMEI);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.