2014-05-19 67 views
0

偉大的社區在這裏!CRM 2011聯繫地址設置爲國內和國際

我目前在2011年的CRM系統中工作,該系統有最終用戶從國內(美國)尋址更新聯繫人地址到國際的新要求。該系統最初設置爲國內地址。

我的問題是與電話字段和郵政編碼。兩者都有自定義JavaScript來格式化整數字段並確保長度合規性。

現在,是否可以操縱下面的JavaScript處理國內和國際電話號碼?

下面是呼籲一個onchange事件的函數:

function checkPhoneNumberFormat(obj) { 
var phoneNumber = obj.getEventSource().getValue(); 

if (phoneNumber != null) { 
    var sTmp = phoneNumber.replace(/[^0-9]/g, ""); 

    switch (sTmp.length) { 
     case 10: 
      obj.getEventSource().setValue("(" + sTmp.substr(0, 3) + ") " + sTmp.substr(3, 3) + "-" + sTmp.substr(6, 4)); 
      break; 

     default: 
      alert("Phone must contain 10 numbers."); 
      break; 
    } 
} 

}

有些新的Java腳本,只是尋找一些反饋,就如何操縱這個代碼。如果能夠自動格式化9位數字和14位數字電話號碼,那將是非常好的。並且只允許這些長度的數字通過保存。

任何意見或想法,非常感謝。

謝謝!

+0

您可以根據國家/地區字段添加條件,如果不在美國,則不要嘗試格式化這些字段。如果您想爲每個國家/地區設定電話號碼格式,那麼您的工作就會被刪除 - 例如英國至少有三種主要的電話號碼數字分組格式,並且我懷疑組合的數量可能過高。您可能最好將所有非國內數字格式化爲不帶空格或標點的直線字符串 – AdamV

+0

將所有格式設置爲一個字符串是一個好主意!是否有可能將上面的JavaScript格式化爲現在允許的格式,它需要10個數字和自動格式。可以操縱上面的腳本來自動格式化10位數字,但只允許直線字符串中的14位數字?感謝您的答覆! – PawelGM

回答

0

是的Pawel,這很容易做: 提出了另一個這樣的案例陳述(這意味着什麼都不做,但是當長度爲14時不要把這個提醒扔掉,因爲你不想做任何事情特殊格式)

case 14: 
    break; 

然後在你的onsave - 你可以做同樣的事情,但阻止保存在「默認」的情況下。

default: 
alert("Phone number must contain 10 or 14 digits"); 
executionObj.getEventArgs().preventDefault(); 
break; 

有一點需要注意的電話號碼是,往往可以有擴展,這似乎並沒有被你的代碼來處理,但也許這是不相關的應用程序。