2016-06-28 66 views
1

我有一個JavaScript函數,它讓我的emailID各自的文本添加。Javascript運行時對象不支持此屬性錯誤

但是,如果EmailID不存在的情況它給了我錯誤的

Microsoft JScript runtime error: Object doesn't support this property or method

下面是函數。

function getEmailIdByType() { 
     StrPriFnName = "FunGetEmailIdByType(" + document.getElementById('TxtPartyName').value + ")"; 
     var ObjPriXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP") 
     ObjPriXMLHTTP.open("GET", "FrmInwardXMLHTTP.aspx?para=" + StrPriFnName, false); 
     ObjPriXMLHTTP.send(""); 

     if (Trim(ObjPriXMLHTTP.responseText) != "") { 
      var StrPriData = ObjPriXMLHTTP.responseText.Split('~'); 
      document.getElementById('TxtEmail').value = StrPriData[1]; 
     } 
     else { 
      return false; 
     } 
    } 

它給了我錯誤的行: -

var StrPriData = ObjPriXMLHTTP.responseText.Split('~'); 
+0

我認爲拆分應該是較低的情況下,即分裂()不斯普利特() – Sami

+0

@Sami:試圖用小寫,但它填補了'EmailID'框,'undefined'。 **我想如果電子郵件ID不存在,文本框應該保持空白。** – BNN

+0

小寫拆分,使用XmlHTTPRequest,小寫變量名的第一個字母。 – ManoDestra

回答

1
if (Trim(ObjPriXMLHTTP.responseText) != "") { 
      var StrPriData = ObjPriXMLHTTP.responseText.Split('~'); 
      document.getElementById('TxtEmail').value = typeof StrPriData[1] != "undefined" ? StrPriData[1] : ""; 
     } 
     else { 
      return false; 
     } 
+0

是工作。謝謝很多兄弟..! :) – BNN

+0

很高興幫助! – Sami

1

你應該嘗試訪問responseText只有當ObjPriXMLHTTP改變它的readyState

ObjPriXMLHTTP.onreadystatechange = function() { 

    if (ObjPriXMLHTTP.readyState == 4 && ObjPriXMLHTTP.status == 200) { 

    var StrPriData = ObjPriXMLHTTP.responseText.split('~'); 

} 

也許responseText屬性僅可在得到迴應之後。在你嘗試看到它的時候,反應並沒有真正到達。

Here就是一個完整的例子。

+0

謝謝你的答案查理,另一個工作得很好。我仍然會保留將來參考的邏輯 – BNN

+0

它會給你電子郵件ID嗎? –

+0

不,我沒有嘗試過。 – BNN

相關問題