2017-10-11 47 views
0

下面是代碼:HTML開放的onclick窗不工作的AJAX

$.ajax(
{ 
    url: "savePart", 
    type: "POST", 
    data: new FormData(this), 
    contentType: false, 
    cache: false, 
    processData: false, 
    success: function (jsonStr) 
    { 
     var result = JSON.parse(jsonStr); 

     var materialQualification = '<a href="files/material_qualification/'+result.materialQualification+'" onclick="window.open(this.href, "mywin","left=330,top=20,width=800,height=800,toolbar=0,resizable=0"); return false;">'+mqFormat+'</a>'; 

     var newrow = $('<tr class="trClick" id="'+result.formID+'" data-toggle="modal"><td align="center" class="number">'+materialQualification+'</td></tr>'; 

     $("#tData tbody").prepend(newrow); 
    } 
}); 

當上面的代碼執行,window.open不工作。當我點擊<a></a>時,它不會顯示我打開新窗口。

有沒有辦法如何設置它?或者我在那裏做錯了什麼?

更新: 當<a></a>點擊,它給我的錯誤控制檯:

Uncaught SyntaxError: Unexpected token } 

感謝。

+0

結帳你不應該具有約束力單擊事件處理程序內聯。相反,您可以在運行時已經存在的元素級別上監聽從錨元素冒泡的單擊事件,例如, ''('#tData tbody')。on('click','a',function(){...})' – Terry

+0

您是否在檢查窗口中看到任何錯誤? – 2017-10-11 10:43:24

+0

@TAHATEMURII是的,未捕獲的SyntaxError:意外的令牌} –

回答

1

在代碼中替換此行並嘗試。有一個"'混搭。我使用'\'而不是"window.open函數。

var materialQualification = '<a href="files/material_qualification/'+result.materialQualification+'" onclick="window.open(this.href, \'mywin\',\'left=330,top=20,width=800,height=800,toolbar=0,resizable=0\'); return false;">'+mqFormat+'</a>'; 
+0

剛剛嘗試,它的工作。乾杯 –

+0

@HiDayurieDave,不要忘記接受答案,所以對別人有幫助 –

1

的onclick不得在下列線工作,因爲"雙引號。

var materialQualification = '<a href="files/material_qualification/'+result.materialQualification+'" onclick="window.open(this.href, "mywin","left=330,top=20,width=800,height=800,toolbar=0,resizable=0"); return false;">'+mqFormat+'</a>'; 

"雙引號添加\並添加到位"雙引號的'單引號中window.open功能,下面一行

var materialQualification = '<a href="files/material_qualification/'+result.materialQualification+'" onclick="window.open(this.href, \'mywin\',\'left=330,top=20,width=800,height=800,toolbar=0,resizable=0\'); return false;">'+mqFormat+'</a>'; 
+0

試過了,但還是新窗口沒有打開。當點擊鏈接時,有時我在控制檯中出現錯誤:Uncaught SyntaxError:Unexpected token} –

+0

你正在用這行做什麼'var newrow = $(''+ materialQualification +'';' –

+0

已更新我的回答 –