2012-01-08 20 views
6

हैलो im जे एस त्रुटि हो रही है:Uncaught सिंटैक्स त्रुटि: अनपेक्षित पहचानकर्ता

Uncaught SyntaxError: Unexpected identifier 
यहाँ

<script type="text/javascript"> 
var cur_level = 1; 
var ids_arr = new Array(<?php echo $max_level?>); 
var im_here = new Array(<?php echo $max_level?>); 
ids_arr[0] = 1; 
im_here[0] = "|"; 
function displayData(id, level, used, title) 
{ 
if(used){ 
    choice = document.getElementById('divv'+id).innerHTML; 
    document.getElementById('test_div').innerHTML = choice; 

} else { 
    document.getElementById('test_div').innerHTML = ' No lerning paths to show.'; 
    updateLinksDiv(id, level, title); 

    } 
} 

function updateLinksDiv(id, level, title) 
{ 
var links_div_info = document.getElementById('links_parent_'+id); 
var tmpHTML = ''; 
var here = ''; 

for(i=0;i<level;i++){ 
    here+= '->'+im_here[i]; 
    links_div_info = document.getElementById('links_parent_'+ids_arr[i]); 
    tmpHTML += '<div id="divl_'+links_div_info.id+'">'+links_div_info.innerHTML+'</div>'; 
} 
links_div_info = document.getElementById('links_parent_'+id); 
tmpHTML += '<div id="divl_'+links_div_info.id+'">'+links_div_info.innerHTML+'</div>'; 

document.getElementById('links').innerHTML = tmpHTML; 
ids_arr[i] = id; 
im_here[i] = title; 
} 

</script> 


<script type="text/javascript"> 
    window.onload=updateLinksDiv(1 , 0 , "|") ; 
</script> 

कार्यों एक "विस्तार" के स्तर के साथ खुल जाता है कि बनाने के लिए लगता है कि कर रहे हैं

और सब कुछ ठीक काम कर रहा था जब तक मैंने "शीर्षक" जोड़ा और मुझे त्रुटि मिलना शुरू हो गया। त्रुटि मुझे पिछले के लिए अंक और मैं सिर्फ नहीं कर सकते त्रुटि ... मैं इस

onclick="displayData('.$cat->id.','.$cat->level.',0,'.$cat->title.')" 

तरह displayData कॉल करने के लिए मैं क्या दिखाई दे रहा है के लिए कोई सुझाव की कोशिश लगता है।?

आप

+4

आपके पास जावास्क्रिप्ट त्रुटि है, कृपया हमें जावास्क्रिप्ट दिखाएं और कुछ PHP नहीं जो जावास्क्रिप्ट उत्पन्न करेंगे। – Quentin

+0

यह भी बताएं कि कौन सी रेखा त्रुटि को ट्रिगर करती है। – Quentin

+0

एक साइड नोट के रूप में, आपको 'onxxx' विशेषताओं का उपयोग नहीं करना चाहिए। इसके बजाए, पृष्ठ लोड होने के बाद ईवेंट को तत्वों से बांधें - इसे [अविभाज्य जावास्क्रिप्ट] (http://en.wikipedia.org/wiki/Unobtrusive_JavaScript) कहा जाता है। इसी प्रकार, 'innerHtml' का उपयोग करना [XSS इंजेक्शन भेद्यता] के लिए एक प्राप्ति है (http://en.wikipedia.org/wiki/Cross-site_scripting)। मैं दृढ़ता से jQuery या एक समान पुस्तकालय का उपयोग करने की सलाह देते हैं। – phihag

उत्तर

8

धन्यवाद अपनी टिप्पणी में आप का कहना है कि displayData(26,1,0,כיתה ג) उत्पन्न होता है। यह लक्षणों को बताता है, क्योंकि यहां अंतिम पैरामीटर में हिब्रू अक्षरों के अलावा एक स्थान होता है, इसलिए जावास्क्रिप्ट intepreter इसे एक स्थान से अलग दो पहचानकर्ता के रूप में देखता है, और पहचानकर्ता शायद अपरिभाषित हैं। Google क्रोम आपके द्वारा वर्णित त्रुटि संदेश देता है, जबकि फ़ायरफ़ॉक्स और आईई तर्क तर्क सूची के बाद, अधिक गूढ़ रूप से, "गायब) कहते हैं।"

स्पष्ट रूप से जेनरेट कोड को उद्धरण चिह्नों में अंतिम पैरामीटर होना चाहिए, यानी 'כיתה ג' । आपको पीढ़ी को शामिल करने के लिए उन्हें संशोधित करने की आवश्यकता है।

+0

धन्यवाद आप –

+2

भिन्न भिन्नता में कंसोल की जांच करें, प्रतिभाशाली! – DigitalDesignDj

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