2011-09-29 10 views
6

इसलिए मैं एक विशेष div के तहत सभी सामग्री को हटा रहा हूं और एक संदेश सामग्री जोड़ रहा हूं। हालांकि, जावास्क्रिप्ट खत्म करने के बाद निम्न त्रुटि फेंक:असीमित त्रुटि NOT_FOUND_ERR DOM अपवाद 8

Uncaught Error: NOT_FOUND_ERR: DOM Exception 8 

यहाँ कोड है, जहां यह क्रियान्वित किया जाता है

new Ajax.Request("profileThis.php", 
{ 
    method:'post', 

    parameters:{title:title, review:review, userId:userId, category:category, categoryId:categoryId}, 

    onSuccess:function(ajax) 
    { 
    alert(ajax.responseText); // this is just for debugging purposes 

    var message=ajax.responseText; 

    var divMessage=document.createElement("div"); 

    divMessage.style.color="rgb:(105,105,105)"; 

    divMessage.innerHTML=message; 

    while($("reviewSheet").hasChildNodes) 
    { 
    $("reviewSheet").removeChild($("reviewSheet").lastChild); 
    } 

    $("reviewSheet").adopt(divMessage);   

    }, 

    onFailure:ajaxFailure, 

    onException:ajaxFailure 

}); 

लोग टिप्पणी की है कि समस्या यह है कि मैं reviewSheet करने के लिए divMessage सौंपा के साथ किया गया है। मैंने adopt और appendChild दोनों की कोशिश की लेकिन कोई भी काम नहीं करता है। एक छोटी मदद की सराहना की जाएगी।

+1

क्या यह म्यूटूल है? – epascarello

+0

_ $ ("समीक्षाशीट") _ यह क्या है? आप जावास्क्रिप्ट ढांचे का उपयोग करते हैं, या यह 'document.getElementById()' के लिए उपनाम है? यदि आपको तत्व (खाली तत्व) से सभी नोड्स को निकालने की आवश्यकता है तो बस 'element.innerHTML =' 'का उपयोग करें; ' –

+0

या' element.innerHTML =' '' कोड का उपयोग करें: 'जबकि (someParentElement.firstChild) someParentElement.removeChild (someParentElement.firstChild); ' –

उत्तर

3
divMessage.style.color="rgb:(105,105,105)"; 

होना चाहिए

divMessage.style.color="rgb(105,105,105)"; 
+0

धन्यवाद लेकिन यह काम नहीं किया। मैंने कोशिश की लेकिन यह अभी भी वही प्रदर्शित कर रहा है। मुझे लगता है कि यह एक सीएसएस मुद्दा नहीं है। –

1

समस्या यह है कि आप एक jQuery वस्तु पर विधि hasChildNodes() कॉल कर रहे हैं? मुझे यकीन नहीं है कि $ ("समीक्षाशीट") क्या माना जाता है, लेकिन $() में एक स्ट्रिंग को लपेटने से यह एक jQuery ऑब्जेक्ट बन जाता है जो मुझे विश्वास नहीं है कि नियमित जावास्क्रिप्ट विधियों के साथ काम करेगा। यदि "reviewSheet" एक तत्व की आईडी आप की तरह

node = document.getElementById('reviewSheet'); 

कुछ कर सकते है तो आप अपने जबकि लूप में जा सकते हैं।

while (node.hasChildNodes()) { 
//the rest of your code here 
} 

ओह भी आपको बूल्डनोड() को बूलियन मान वापस करने के बाद कोष्ठक डालने की आवश्यकता है।

संबंधित मुद्दे