javascript
2015-08-11 2 views 0 likes 
0

EDIT: «больше» ссылка построена здесь:вопрос передавая значение функции

document.getElementById("elenco_fiveboard").insertAdjacentHTML('beforeend', 
    "<li>" + 
    "Titolo: " + valore_comando + " " + 
    "(<a href='javascript:getInfo("+ valore_comando +");'>" + 
    "more" + "</a>)" + 
    "</li>"); 

Так что я должен обернуть valore_comando с дефисом, но я получаю ошибку, пытаясь написать

"(<a href='javascript:getInfo(""+ valore_comando +"");'>" + 

или

"(<a href='javascript:getInfo('"+ valore_comando +"');'>" + 

Извините, но я не настолько силен, с синтаксисом JS и я, начиная с некоторого кода, который не является моим собственным.

Я имею эту простую функцию JS:

getInfo = function(title){ 
    worker.port.postMessage("maggiori_informazioni:" + title); 
    } 

Я бег он, переходя к переменному заголовку значения, но я всегда получаю сообщение об ошибке. Если название 'пример', то JS попытаться запустить

getInfo = function(example) 

и я получаю ошибку:

Reference Error: example is not defined. If title has more than one word: 'first example' then JS will try to run

getInfo = function(first example) 

и я получаю ошибку:

Syntax error: missing) after argument list (looking for parentesys after 'first').

Что я отсутствует здесь ?? Этот код является частью моего первого теста с помощью webSockets. Если вы хотите увидеть полный код, вы можете открыть этот index page и поместить значение в первое предупреждение, которое вы видите. Это значение является названием, которое вы увидите на dashboard page. Ошибка может быть воспроизведена, пытаясь нажать «Больше» после каждого определенного заголовка на панели управления. Извините за итальянский сайт, но это требование пользователя.

+4

'getInfo (« это название »);' –

+0

Что мне здесь не хватает? - кавычки вокруг ваших литеральных строк. – jalynn2

ответ

0

Вам придется избегать некоторых кавычек.

"(<a href=\"javascript:getInfo('"+ valore_comando +"');\">" + 

\ символа перед кавычками атрибута href говорит анализатор JavaScript, что они являются частью строки, а не в начале или в конце строки.

+0

Спасибо за подсказку. Это недостающая комбинация, которую я не пробовал. –

2

getInfo со ссылкой на вашу функцию.Таким образом, вы можете назвать это по:

getInfo(value); 

Use quotes if you are passing string value and if you are passing integer value you can simply pass.

Например:

getInfo("Message Title"); //string 
getInfo(3); // Integer 

DEMO


Вы также можете позвонить так:

getInfo = function(title){ 
    alert("maggiori_informazioni:" + title); 
    }("String"); 

DEMO

Обновления:

Вы можете использовать это:

"(<a href='"+getInfo(valore_comando)+";'>" + 
1
  1. функция была возложена на getInfo поэтому, пожалуйста, звоните getInfo()
  2. строка должна быть приложена ''

Так что код должен быть

getInfo('example') 
+0

Этот ответ доходит до фактической точки. getInfo присваивается функции. Поэтому позвоните, не переназначайте его. –

0

Проблема заключается в том, что пример не определен. Если вы хотите вызвать функцию с примером в качестве ввода, ей нужны либо одинарные кавычки, либо двойные кавычки вокруг него. "example" или 'example'.

getInfo("example"); // Works as intended 

Другой вариант - создать переменную, содержащую строку, и передать ее функции.

var myVariable = "example"; 
getInfo(myVariable); // Still works, myVariable is a string with value "example" 
Смежные вопросы