В index.php есть ссылки, ниже на странице переменная и ее вывод ее на страницу. Как создать ссылки (a href=.....) или подобные, что бы они присваивали переменной $text значение (например $text='a')? Что бы потом на этой же странице подключить инклюд: PHP: <?php include ("site_edit/format_num/a.php"); ?> Но сделать это в определенном месте на странице, например: PHP: <?php echo $text; ?> Проще хочу что бы после нажатия на ссылку, ниже на странице отображалось содержимое выбранного инклюда.
<div style="display: none" id="block">Содержимое include</div> <a href="#" onclick="document.getElementById('block').style.display='block';">Показать</a>
Кстати по поводу "мусора", на мой взгляд, PHP - очень кривой язык программирования (я уже писал, почему так думаю), JavaScript (составная часть AJAX'а) - вообще нечто ужасное, что не имеет каких-либо синтаксических рамок, а так же по-разному поддерживается браузерами. В этом плане я б свой голос отдал Flash - единый плагин, который работает на всех браузерах одинаково.
а html тоже *включил зануду. А почему 90% людей, когда говорят «AJAX» имеют в виду только XMLHttpRequest? Кстати, на тему JS
Самый лучший язык программирования -- это тот, который сам пишется, отлаживается и без проблем работает под высокими нагрузками. Просто он очень гибкий и имеет много сахара. То, что он по-разному работает в браузерах не его вина, а вина самих браузеров. Единственное, чем я благодарен флешу -- так это видеоплееры и мультизагрузочная форма. Все остальное, что я видел - было ключной тормознутой фигней. Даже сейчас, когда на дворе Flash 10, практически все флеш-сайты тормозят на среднестатистических компьютерах. Особенно забавляют баннеры, сделанные горе-прогерами, которые тормозят скролл сайта. Если какой-то сайт тормозит, то ты можешь уйти с него, а если на нормальном сайте появляется тормознутый банер - это жесть.
Не людей, а программистов, для которых важны изменения на стороне сервера (или данные, полученные от туда), а изменения на стороне клинта (и вывод полученных данных) производятся JS, по этому AJAX должен ассоцироваться и с тем, и с другим. В данном контексте меня не XMLHttpRequest волновал. А на мой взгляд, самый лучший язык - это тот, который позволяет программисту жестко и, что не мало важно, удобно контролировать все аспекты работы программы. Вернусь к старому, если бы PHP позволял жестко типизировать переменные, входящие аргумента и возвращаемые значения функций (так же, как и оуверлоудинг функций, операторов), тогда б можно было избежать огромного количества проверок isset/is_int/.../gettype, а куча ошибок находилось на этапе парсинга во время интерпретации. На данный момент таким остается только С++, который, к сожалению, не приспособлен для Web'а, как PHP. Может это мое личное, но вот эта гибкость и "сахар" - источник ошибок и неопределенностей. Лучше бы JavaScript имел два свойства - единый плагин, как у Flash, такая же реализация обработки событий и многопоточности, ну и синтаксис, как у Java, с сохранением его приспособленности под DOM. Когда JS работает (в меру своих возможностей) с такими же объемами графики, на какие нацелен Flash, тормоза появляются не меньшие. Я вообще делал акцент на единости, что на мой взгляд, намного оправданней, тем более, что Flash поправить куда проще, чем монополизировать JS и выпустить под единым плагином для браузеров. Если бы браузеры изначально задумывали это как мультиплатформенный плагин, а не как ноу хау собственного продукта, сегодняшняя ситуация была бы куда лучшей.
T-Mon, не путайте, пожалуйста, JavaScript и DOM. JavaScript работает абсолютно одинаково во всех браузерах (не трогая скорость интерпритации), другим делом являются объекты, которыми оперирует JavaScript. И это сугубо проблема браузеров, но никак не JS.
Apple, ну JavaScript и DOM сложно спутать... По поводу проблемы - JS или браузеров, я в семантику этого вопроса углубляться не буду, просто скажу если JS оперирует объектами браузеров, которые могут существовать в одном браузере и не быть в другом (так же, как и различия атрибутов и методов этих объектов), значит это проблема и JS. Значит нужно придумывать надстройку (плагин), который заставит браузеры "подчиняться" всем его требованиям. Если не Мухамед к горе, тогда гора к Мухамеду. Вот только остается ждать, кто этим займется. У меня надежда на Adobe, Microsoft и Sun. P.S. Кстати с CSS то же самое.
T-Mon Вообще, сказать честно, PHP тоже работает на всех серверах "по-разному". Это зависит от версии, от конфига. Бывает тоже напишешь скрипт, а он не работает на сервере, хотя дома все ок. Это естественная проблема языка программирования, который компилируется при исполнении (скриптовый язык ё ма ё (с)). Как -- зависит от места, где происходит компиляция. И если они где-то не происходит, то это проблема разработчика. Согласен, что в РНР нетипизированные данные иногда вызывают путаницу. Особенно начинаешь путаться, когда учишься и подходишь к вопросу о типизации. Как раз этим и привлекает РНР для обучения -- на начальном этапе не нужно знать подробностей работы. Признаюсь честно, когда начал учиться программировать, то первым я выбрал язык Javascript. Купил книжку (совковую правда), прочитал и нифига не понял. У меня постоянно сыпали ошибки. Я начал осваивать его только после полугода изучения РНР. И тоже путался из-за "гибкости". Однако, теперь, я очень рад, что она есть. Я предполагаю, что без гибкости JS его код был бы в раза полтора-два больше, чем сейчас. А это значит, что программисту пришлось бы писать больше, а клиенту -- скачивать.
А как же безопасность программирования... если ей пренебречь - то кол-во кода JS будет меньше, если же учесть - больше. Покажи мне сайт, где бы файл JS весил хотя бы 300 КБ.
это проблема любого компилируемого языка. а не только интерпритируемого. вы видать никогда не видели, как сишный код на разных машинах компилится? с уевой тучей флагов и разными компиляторами? А JS, чистый JS, работает на Scripting Host например, и люди на нем большие реалтаймовые приложения пишут. На RuPyRu 2008 чувак рассказывал, как у них на яваскрипте работает сервис информирования и услуг сотового оператора. А товарищ T-Mon вообще мало в теме, хоть и строит из себя. «Серьезные люди» если знают мало в определенной теме, то так и говорят. А про то как несколько сотен очень опытных разработчиков пишут годами «кривые языки программирования» рассуждают школьники. И в принципе, хрен бы с ним, но пока ты не признаешь, что ты знаешь мало, ты не сможешь развиваться и узнать больше. Ах, да, мне как всегда, пофиг )
У меня 3 браузера, для проверки написаного. Опера повседневный браузер, тут работает все. Мозила не видит яву. А ишак невидит флеш и яву. Много (по работе) приходилось устанавливать ОС в разных конторах, много ковырялся в их же компах и по моей статистике, мало кто что то обновляет или меняет, что поставили, то и стоит годами. Это к вопросу о кросплатформенности. Я хочу что бы мой сайт видели одинаково-правильно офисная клушка и любой другой пользователь, независимо от ОС, браузера и морально этических пристрастий. П.С. В большинстве офисов стоит win xp sp1 (браузер ишак 6) =)
У меня стоит 5 браузеров (а еще гугл хром удалил недавно). Во всех все работает, если хорошо подпилить html, css & javascript.
Так в том и дело яж не обойду всех потенциальных пользователей тырнета с благотворительной миссией, устанавливая и обновляя плагины. Поэтому и предпочитаю использовать то что будет доступно большинству. Остальные браузеры не обновляю, что бы увидеть как оно будет работать в разных случаях.