2012-01-19 2 views
3

Как добавить параметр в функцию removeSound в этом JavaScript-коде?Ввести параметр в встроенную функцию javascript

Я не могу заставить его работать.

var param = "111"; 

coder = '<a href="javascript:;" onClick="javascript: removeSound(' + param + ');" >Delete</a>' 

Update

Я не знаю, почему код = был удален! Это необходимо для объяснения контекста проблемы.

+0

мне просто нужно знать, как добавить параметр к функции, не нарушая ее. Сама функция не имеет значения. –

+0

Если это не работает с одинарными кавычками, ваша функция ошибочна. –

+0

Я добавил этот дополнительный бит информации к моему ответу. –

ответ

3

Я просто хочу, чтобы добавить правильный двойной квотирование метод побега к ответам, как никто не показал правильный способ избежать двойных кавычек внутри атрибута onClick.

В HTML недостаточно использовать только обратную косую черту при выполнении двойной котировки JavaScript. Вам необходимо надлежащее HTML сущность, которая &quot;

Это живой пример:

<a href="#" onClick="removeSound(&quot;121212&quot;);">Delete</a> 

Однако для удобства чтения я бы рекомендовал использовать способ Энтони Скотта, используя одиночные кавычки.

<a href="#" onClick="removeSound('121212');">Delete</a> 

Для добавления параметров в качестве переменной из любой сценарий ваш HTML генерируется вы должны сделать это:

code = '<a href="javascript:;" onClick="javascript: removeSound(&quot;' + the_param + '&quot;);" >Delete</a>'; 

Другой возможный путь должен быть:

code = '<a href="javascript:;" onClick="javascript: removeSound(\'' + the_param + '\');" >Delete</a>'; 
+0

Прекрасно работает! Как добавить два параметра? –

+0

Это действительно зависит от типа. Если это тип 'String', вам нужно будет добавить кому после экранированной одиночной кавычки. Если это любой другой тип, вы не цитируете их вообще и просто разделяете их с комой. –

3

Вам нужно использовать разные кавычки. Попробуйте что-то вроде этого ...

<a href="javascript:;" onClick="javascript: removeSound('PARAM HERE');" >Delete</a> 
+0

Я обновил свой вопрос и пример, чтобы лучше отразить то, что мне нужно было сделать. –

+0

Вы хотите, чтобы 111 была строкой или числом в вашей функции removeSound? –

+0

@JonathanClark Действительно, вы должны обратить внимание на это, поскольку все методы, которые мы показали, у вас будет параметр, который является строкой. –

0

попробовать этот

code = '<a href="#" onclick="removeSound("PARAM HERE");">Delete</a>'; 
+0

Я обновил свой вопрос и пример, чтобы лучше отразить то, что мне нужно было сделать. –

0

попробовать это

<a href="#" onClick="removeSound('121212')" >Delete</a> 
+0

Я обновил свой вопрос и пример, чтобы лучше отразить то, что мне нужно было сделать. –