Вызов параметров переменной javascript из глобальной функции для события onclick <a href> - PullRequest
1 голос
/ 01 апреля 2009

Я написал в <a href='javascript:newsdatainfo(document.xmldoc, ... см. Ниже. Но это все равно не работает.

var dataxml = unescape(xml);    
var xmldoc = getDomAdapter().parseXml(dataxml);
var rootnode = xmldoc.getElementsByTagName('result_set')[0];
var newsresult = rootnode.getElementsByTagName('item');
var pages = Math.round(newsresult.length / 10);

var pagesref;
for (var p=1; p <= pages;p++){
    if (p==1)
        pagesref = pagesref+"<a href='javascript:newsdatainfo(document.xmldoc,document.newsresult,6,10)' >"+p+"</a> | ";

1 Ответ

0 голосов
/ 01 декабря 2009

Повторяю другие ответы. Я не совсем понимаю, о чем вы здесь спрашиваете. В частности, никогда не говорит "это не работает" - укажите, какие действия вы выполнили, каков был ваш ожидаемый результат и каков был ваш фактический результат. Хотя в любом случае:

  1. Вы не должны использовать префикс javascript: в href; вы должны использовать событие onclick, которое вы указали в заголовке вашего вопроса.
  2. Вы можете просто использовать xmldoc и rootnode без префикса.
  3. Если вы не хотите, чтобы гиперссылка вообще куда-то направлялась, убедитесь, что вы return false из обработчика onclick, чтобы предотвратить обработку клика. Также установите для URL-адреса значение «#» (которое обычно будет указывать на верхнюю часть текущей страницы), чтобы ссылка постепенно уменьшалась с отключенным Javascript и чтобы имел смысл иметь смысл адрес в строке состояния при наведении курсора (если только вы не хотите переопределить это тоже).
  4. Я надеюсь, что код заканчивается внезапно, так как цикл по всем элементам только для того, чтобы выполнить какое-то действие над первым, является, по меньшей мере, неоптимальным.

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

pagesref = pagesref+"<a href='#' onclick='newsdatainfo(xmldoc,newsresult,6,10); return false' >"+p+"</a> | ";

и все может работать как вы ожидаете, как бы то ни было.

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