2012-06-14 2 views
0

Это заставляет меня немного орехово. Ссылка Javascript должна срабатывать, чтобы заполнить div. Но не работает.javascript ссылка не работает

JS

function showNotes(notes,id) { 
    var notes = '<form action="editnotes.php" method="post"><textarea>'+notes+'</textarea><input type="hidden" name="id" value="'+id+'"><input type="submit" name="submit" value="Save Notes"></form>'; 
    var target = 'notebox'; 
    alert(id); 
    document.getElementById(target).innerHTML = notes; 
    return false; 
} 

HTML

<a href='#' onclick='showNotes('hi there','143');'><small>Show Notes</small></a> 
<div id="notebox"></div> 
+1

Вам нужно бежать кавычки, как сказал Шредер. И если вы используете Firefox, вы можете увидеть синтаксические ошибки, используя «консольные ошибки». Введите CTRL + SHIFT + J. – Jack

+0

Иногда подсветка синтаксиса просто позволит вам узнать, где проблема, как в этом. –

ответ

5

заключите значение onclick атрибута в двойных кавычках, поэтому одиночные кавычки указать строку в вашей строке.

onclick="showNotes('hi there','143');" 

http://jsfiddle.net/77CKx/

+0

или даже лучше, дайте ссылку id и установите обработчик из скрипта, тогда у вас не возникло бы этой проблемы –

+0

смена его на двойные кавычки не заставила его работать ... – user1260310

+2

@ user1260310 Он должен .. http://jsfiddle.net/77CKx/ –

1

Shredder попал в суть вопроса. У вас есть вложенные кавычки. Однако встроенный JS так не крут. Сделайте это со сценарием, и проблема исчезнет. http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/

HTML

<a href="#" id="shownotes"><small>Show Notes</small></a> 

JS

document.getElementById('shownotes').onclick = function() { 
    showNotes('hi there', '143'); 
    return false; 
} 
+1

Вы имели в виду 'document.getElementById ('показанные'). Onclick = function() ..'? – Jack

+0

@Jack Спасибо, я пропустил это –

+0

Byline JS, вы имеете в виду, что даже указание событий в теге html не круто и нахмурилось? Лучше ли устанавливать события в сценарии? Как так? Если это довольно ответ, я могу задать вопрос об этом :) –

1

Похоже, вы нарушаете OnClick с помощью одного апострофа для аргументов функции.

Попробуйте

<a href='#' onclick="showNotes('hi there','143');"><small>Show Notes</small></a> 
+0

Шредер уже сказал, что это то же самое. Повторяющийся ответ –

+0

Спасибо за редактирование. Это мой первый пост, и, конечно же, я взмахнул. :) –

0

Рабочий код:

showNotes = function (notes,id) { 
    var notes = '<form action="editnotes.php" method="post"><textarea>'+notes+'</textarea><input type="hidden" name="id" value="'+id+'"><input type="submit" name="submit" value="Save Notes"></form>'; 
    var target = 'notebox'; 
    alert(id); 
    document.getElementById(target).innerHTML = notes; 
    return false; 
}​ 


<a href='#' onclick="showNotes('hi there','143');"><small>Show Notes</small></a> 
<div id="notebox"></div>​ 

Вы также можете просмотреть его здесь работать: http://jsfiddle.net/ZMZGk/13/

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