Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Java / JavaScript


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Java/JavaScript

Выпуск № 337
от 26.02.2007, 21:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 331, Экспертов: 31
В номере:Вопросов: 5, Ответов: 6


Вопрос № 76262: Уважаемые эксперты! Помогите понять, как в opera обращаться к кусочкам XML документа. Приходит следующее: <?xml version="1.0"?> <!DOCTYPE OPIT [ <!ELEMENT OPIT ANY> <!ELEMENT O (#PCDATA)> ]> <OPIT> <O>...
Вопрос № 76339: Уважаемые эксперты! Подкажите пожалуйста, как код приведенный в приложении, вынести в отдельный файл скрипта. Спасибо!...
Вопрос № 76423: Подскажите код ссылки на яве, чтобы при нажатии сразу ОТКРЫВАЛСЯ файл!. Мне нужно, чтоб создать autorun на html. Заранее благодарен!...
Вопрос № 76463: Здравствуйте, ув. эксперты. Имеется простая форма с выпадающим списком. В списке по умолчанию (режим "ничего не выбрано") стоит "...". Пример формы в приложении. Задача: делать проверку этой формы, чтобы при нажатии кнопки...
Вопрос № 76589: Помагите реализовать: осуществляем ввод в форму набор цифр, необходимо после перехода в слующее поле преобразовать в другой формат. Например; ввели 99966633322, возвратить в этоже поле вот такой вид 999-999-999 99. И вообще возможно ли задавать маску...

Вопрос № 76.262
Уважаемые эксперты!

Помогите понять, как в opera обращаться к кусочкам XML документа.
Приходит следующее:



]>
qwer
ty

Надо сделать алерт, выводящий ty.
В IE 6.0 работает ".documentElement.childNodes(1).xml". В opera 8.54 не хочет.
Хотелось бы увидеть код, подходящий для обоих браузеров.
В приложении полный код эксперимента.

И ещё факультативный вопрос - как выглядит скрипт PHP, выводящий этот XML? Почему не работает




]>
qwer
ty


Приложение:

Отправлен: 18.02.2007, 12:50
Вопрос задал: Олег Владимирович (статус: Студент)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: HookEst
Здравствуйте, Олег Владимирович!
Оперы 8.54 у меня нет, все проверял в Опера 9.10.
Как Вы уже, наверное, заметили, реализация DOM XML в Opera несколько отлична от IE.
Во первых, нет свойства xml. Для того, чтобы преобразовать XMLNode в строку можно использовать
объект XMLSerializer:
XMLSerializer().serializeToString(SomeNode).
Во вторых, если Вам нужно получить список только вложеных тегов, не используйте childNodes.
(childNodes включает также все text и comment nodes, причем Опера включает даже пустой текст, в отличии от IE)
Можно в Опера(не в IE)использовать childNodes.tags(), но правильнее ИМХО, будет использовать методы DOM XML
такие, как selectNodes и selectSingleNode, они работают как в Опера так и в IE.
В Вашем случае можно написать:
alert(XMLSerializer().serializeToString(req.responseXML.documentElement.selectNodes('O')[1]))
или, используя XPath фильтр:
alert(XMLSerializer().serializeToString(req.responseXML.documentElement.selectSingleNode('O[position()=2]')))

вообщем, нужно смотреть доки по XMLDOM и XPath(их много, например xml.nsu.ru или w3schools.com),
по Опере у меня мануалов нет, но мне пригодилась функция:
function list(o){
//выводит свойства объекта о и их значения в PRE элемент с ID=pre
for(n in o)
pre.innerText+=n+' = '+ro[n]+' ';
}

Что касается PHP, то в нем весь текст, который находится вне PHP тегов, выводится как есть:
<?php
//директива php.ini short_open_tag должна быть отключена!
header("Content-type: text/xml; charset=windows-1251");
?>
<?xml version="1.0"?>
<!DOCTYPE OPIT [
<!ELEMENT OPIT ANY>
<!ELEMENT O (#PCDATA)>
]>
<OPIT> <O>qwer</O>
<O>ty</O>
</OPIT>

или по аналогии с opit.pl можно использовать HEREDOC синтаксис

<?php
header("Content-type: text/xml; charset=windows-1251");
echo <<<EOD
<?xml version="1.0"?>
<!DOCTYPE OPIT [
<!ELEMENT OPIT ANY>
<!ELEMENT O (#PCDATA)>
]>
<OPIT> <O>qwer</O>
<O>ty</O>
</OPIT>
EOD;
?>
Успехов.
Ответ отправил: HookEst (статус: Студент)
Ответ отправлен: 20.02.2007, 14:19
Оценка за ответ: 5


Вопрос № 76.339
Уважаемые эксперты! Подкажите пожалуйста, как код приведенный в приложении, вынести в отдельный файл скрипта.

Спасибо!

Приложение:

Отправлен: 18.02.2007, 21:31
Вопрос задал: Loed (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Angel7
Здравствуйте, Loed!

Делается это просто, создаете файлы script.js, берете Ваш код
java = "1.0"; java1 = "&referrer=" + escape(document.referrer) + "&page=" + escape(window.location.href); document.cookie = "astrakhanrutop=1; path=/"; java1 += "&c=" + (document.cookie ? "yes" : "no");
java1 += "&jscript=" + java; document.write("<a href=http://www.astrakhan.ru/top/in.php?id=389><img src='http://thj.astrakhan.ru/cgi-bin/counter?id=389" + java1 + "' width=88 height=31 border=0 alt='Рейтинг Астраханских Сайтов'></a>")


, вставляете в данный файл, теперь аналогично создаете файл script11.js, берете Ваш код

java = "1.1"; java1 += "&java=" + (navigator.javaEnabled() ? "yes" : "now");

, вставляете в данный файл, теперь аналогично создаете файл script12.js, берете Ваш код

java = "1.2"; java1 += "&resolution=" + screen.width + "x" + screen.height + "&cdepth=" + (((navigator.appName.substring(0, 3)== "Mic")) ? screen.colorDepth : screen.pixelDepth);

, вставляете в данный файл, теперь аналогично создаете файл script13.js, берете Ваш код

java = "1.3"

, вставляете в данный файл, теперь оставшееся

<script language="javascript"></script>
<script language="javascript1.1"></script>
<script language="javascript1.2"></script>
<script language="javascript1.3"></script><script language="javascript"></script><noscript><a href="http://www.astrakhan.ru/top/in.php?id=389"><img src="http://thj.astrakhan.ru/cgi-bin/counter?id=389" width=88 height=31 border=0 alt="Рейтинг Астраханских Сайтов"></a></noscript>


преобразуете в

<script language="javascript" src="script.js"></script>
<script language="javascript1.1" src="script11.js"></script>
<script language="javascript1.2" src="script12.js"></script>
<script language="javascript1.3" src="script13.js"></script><script language="javascript" src="script.js"></script><noscript><a href="http://www.astrakhan.ru/top/in.php?id=389"><img src="http://thj.astrakhan.ru/cgi-bin/counter?id=389" width=88 height=31 border=0 alt="Рейтинг Астраханских Сайтов"></a></noscript>


Все! Готово!

Удачи!
---------
Краткость приятна, когда она сочетается с ясностью ^_-
Ответ отправила: Angel7 (статус: Студент)
Ответ отправлен: 19.02.2007, 15:41


Вопрос № 76.423
Подскажите код ссылки на яве, чтобы при нажатии сразу ОТКРЫВАЛСЯ файл!. Мне нужно, чтоб создать autorun на html. Заранее благодарен!
Отправлен: 19.02.2007, 13:58
Вопрос задал: VVVictor (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Илья Андреевич
Здравствуйте, VVVictor!
window.open("file.txt","name"); да и хватит. ну и почитайте описание к методу open объекта window

Приложение:

Ответ отправил: Илья Андреевич (статус: 10-ый класс)
Ответ отправлен: 19.02.2007, 14:52


Вопрос № 76.463
Здравствуйте, ув. эксперты.
Имеется простая форма с выпадающим списком. В списке по умолчанию (режим "ничего не выбрано") стоит "...". Пример формы в приложении.
Задача: делать проверку этой формы, чтобы при нажатии кнопки Submit, скрипт проверял, что выбрано в этом выпадающем списке. И если там ничего не выбрано (а точнее осталось значение по умолчанию - "..."), то давал сообщение и возвращался назад (т.е. событие не выполнял).

Спасибо.

P.S. Можно также на примере показать исполнение "обязательных полей". Хотя бы одно. Остальное сделаю по аналогии.
P.S.S. В javascript полный ноль.

Приложение:

Отправлен: 19.02.2007, 17:32
Вопрос задал: Грибенников Александр Сергеевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: PaVeL_Ekt
Здравствуйте, Грибенников Александр Сергеевич!

Проверку следует делать так:

if(document.songNew.genre.value=='')
{
alert('Выберите жанр');
return false;
}
">

и дальше как у Вас в коде.

Удачи !
---------
Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL
Ответ отправил: PaVeL_Ekt (статус: Студент)
Ответ отправлен: 20.02.2007, 06:41

Отвечает: Angel7
Здравствуйте, Грибенников Александр Сергеевич!

Ответ предыдущего эксперта не совсем верен.
В приложении привожу полный код страницы. Вам остается только скопировать его и заменить старый.

Кстати, зачастую у пользователя бывает отключен Ява, поэтомурекомедую также сделать проверку и в РНР-файле. Если возникнут проблемы с этим- обращайтесь.

Удачи!

Приложение:

---------
Краткость приятна, когда она сочетается с ясностью ^_-

Ответ отправила: Angel7 (статус: Студент)
Ответ отправлен: 20.02.2007, 13:30


Вопрос № 76.589
Помагите реализовать: осуществляем ввод в форму набор цифр, необходимо после перехода в слующее поле преобразовать в другой формат. Например; ввели 99966633322, возвратить в этоже поле вот такой вид 999-999-999 99. И вообще возможно ли задавать маску ввода? Ниже представлен код.

Приложение:

Отправлен: 20.02.2007, 13:24
Вопрос задал: SkyNoSky (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Grigory
Здравствуйте, SkyNoSky!
Если длинна ввода все время одна и та же, то можно использовать substring и indexOf для вставки нужного символа в нужной позиции. Вот тут можно посмотреть документацию по использованию этих методов:

http://wp.netscape.com/eng/mozilla/3.0/handbook/javascript/

Удачи!

Григорий
---------
Если хочешь быть счастливым - будь им! (Козьма Прутков)
Ответ отправил: Grigory (статус: Студент)
Ответ отправлен: 20.02.2007, 18:06


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.45 beta от 20.02.2007
Яндекс Rambler's Top100

В избранное