2012-03-27 44 views
0

我有一個填充div但包含js onclick的函數。它如何產生一些我從未見過的奇怪的錯誤。調用JS函數的問題

這是函數:

//Browser Support Code for AJAX Requests 
function ajaxFunction(url,data){ 
    if (window.XMLHttpRequest) {    
    AJAX=new XMLHttpRequest();    
    } else {         
    AJAX=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    if (AJAX) { 
    querystring = "?dta="+data; 
    AJAX.open("GET", url + querystring, false);        
    AJAX.send(null); 
    return AJAX.responseText;           
    } else { 
    return false; 
    }            
}  


function subpopulate(id,array,type){ alert('test2'); // alert to check if called 
document.getElementById(id).innerHTML += "<div class='subm'>test</div>"; 
} 

function menu(type,scri,get){ alert('test'); //alert to check if called 
     var result = ajaxFunction(scri,get); 
     subpopulate('offset',result,type); 
} 

function loadmain(id){ 
document.getElementById(id).innerHTML = "<table style='width:100%;'><tr><td><a href='#' onclick='javascript:menu('build','build.php','false');'>Build</a></td></tr></table>"; 
} 

,當我點擊它不叫這個 「菜單」 功能,它的錯誤鏈接:

未捕獲的SyntaxError:意外的標記}

在控制檯錯誤,我所看到的是它的信息是這樣的:

window.script1332821403739=1; 

任何想法爲什麼發生這種情況:S?

回答

1

替換loadmain方法onclick事件的代碼如下:

onclick='javascript:menu(\"build\",\"build.php\",\"false\");' 
+0

感謝您的幫助! – Sir 2012-03-27 04:32:54

1

您需要將您嵌入HTML表格標記的JavaScript代碼中的單引號轉義。

+0

感謝您的幫助! – Sir 2012-03-27 04:33:19

1

變化

onclick='javascript:menu('build','build.php','false');' 

onclick='javascript:menu(\'build\',\'build.php\',\'false\');' 
+0

感謝您的幫助! – Sir 2012-03-27 04:33:05