2013-09-02 6 views
0

Кто знает, почему Tool_AJAX.loadString("' + split[i] + '"); не работает?
Даже если эта линия работает отлично ..Функция «SyntaxError», вызывающая javascript?

split[i] = 'Hello'

alert('Tool_AJAX.loadString("' + split[i] + '")'); 
Output: Tool_AJAX.loadString("Hello"); 

Heres хлопотно код ..

body += 
    '<tr>' + 
     '<td><h4><a href="javascript:;" onclick="Tool_AJAX.loadString("' + split[i] + '");">' + split[i] + '</a></h4></td>' + 
     '<td>Dummy</td>' + 
     '<td>Dummy</td>' + 
    '</tr>'; 


Error: SyntaxError: syntax error 
Source File: http://localhost:8080/Tool/ 
Line: 1, Column: 32 
Source Code: 
Tool_AJAX.loadString(

Tool_AJAX определяется как ..

var Tool_AJAX = { 
    loadString: function(string){ 

ответ

1
'<td><h4><a href="javascript:;" onclick="Tool_AJAX.loadString("' + split[i] + '");">' + split[i] + '</a></h4></td>' + 

Это закончится, как

<td><h4><a href="javascript:;" onclick="Tool_AJAX.loadString("...");">...</a></h4></td> 

onclick -часть имеет некорректный формат из-за кавычек.
Если вы не можете отделить Javascript от HTML одинарные кавычки для строки между скобками:

'<td><h4><a href="javascript:;" onclick="Tool_AJAX.loadString(\'' + split[i] + '\');">' + split[i] + '</a></h4></td>' + 
+0

Я был в середине типизации почти именно этого. :) +1 – cHao

+0

Это работает отлично, спасибо! Причина, по которой я внедряю HTML внутри JavaScript, заключается в том, что его dymanic, я не знаю, сколько элементов '' будут загружены в массив 'split'. Есть ли у вас предложение о том, как это разделение может быть достигнуто с учетом этого ограничения? – bobbyrne01

+0

Я не говорю о HTML в Javascript. Я говорил о встроенном обработчике события 'onclick'. Почему бы не добавить обработчик кликов вместо таблицы для каждой строки. – Andreas

0

Попробуйте

Tool_AJAX.loadString("'" + split[i] + "'"); 

(Вы действительно нужно разделить [я] в кавычках, как аргумент?)

0

Попробуйте \"' + split[i] + '\". Он должен работать.

+0

не совсем. Проблема не в JavaScript; это то, что HTML интерпретирует кавычки. Вместо этого они должны быть одинарными кавычками или HTML-экранированными, как '"', поэтому они не обрезают значение атрибута. – cHao

Смежные вопросы