на страничке есть текстовое поле ("text1") и текст ("пример") при клике на текст, этот текст должен попадать в текстовое поле Код (Text): echo ' <script type="text/javascript" language="JavaScript"> function do() { content=\'<a onclick=setvalue("пример")>\'+пример+\'</a>\'; document.getElementById(\'menu1\').innerHTML=content; } function setvalue(vl) { document.getElementById("text1").value=vl; } </script> '; проблема такая, если в функцию setvalue передаю число или текст без пробелов, то все работает, текст попатает в текстовое поле ("text1"). А вот если передаю текст с пробелами, например "при мер", то скрипт не работает Подскажите пожалуйста, почему так происходит?
- разделите функции на разные блоки скрипта для отладки - экранируйте внутри двойных кавычек, а не одинарных. - очевидно, так передаете в функцию.
экранирование не влияет на работу скрипта - перебросил все под htm, там таже картина если передаю setvalue("пример") то все работает если setvalue("прим ер") то не работает
я бы делал 1) setvalue(getElementById('box4value").value) 2) скрывал/показывал разные варианты, а не добавлял в innerHTML элементы, тем более активные. Разберитесь с кавычками, слешами, плюсами и вообще работой со строками.
content=\'<a onclick=\\\'setvalue("при мер")\\\'>\'+пример+\'</a>\'; или так: content=\'<a onclick=setvalue("при мер")>\'+пример+\'</a>\';
поставлю вопрос иначе: пробую такой код Код (Text): <script type="text/javascript" language="JavaScript"> function setvalue(vl) { document.getElementById("t").value=vl; } </script> <input type="text" name="t"></p> <a onclick=setvalue('пример')>жми тут</a> так работает а вот так нет Код (Text): <script type="text/javascript" language="JavaScript"> function setvalue(vl) { document.getElementById("t").value=vl; } </script> <input type="text" name="t"></p> <a onclick=setvalue('при мер')>жми тут</a> почему-то при добавлении пробела в слово при мер скрипт перестает работать
Существует не только ИЕ. <a="#" onclick= у меня работает. У любого метода и объекта есть синтаксис. Если его не придерживаться, то не будет работать завтра, даже если вам кажется, что работает сейчас. (сегодня я на людей бросаюсь)
страничка делается для локальной сети под конкретный браузер IE мне нужно сделать, чтобы это работало, а с помощью какого объекта это будет сделано, мне все равно. если есть другие варинты, то приведите пожалуйста на них ссылки. задача-то тривиальная, на любом языке программирования (кроме JavaScript) реализуется очень просто. еще раз прошу подсказать, как вот этот код заставить работать Код (Text): <script type="text/javascript" language="JavaScript"> function setvalue(vl) { document.getElementById("t").value=vl; } </script> <input type="text" name="t" id="t"></p> <a onclick=setvalue('при мер')>жми тут</a> добавил id="t", на работоспособность скрипта это не повлияло
никаких заявлений я тут не делал, ва сказали а я объяснил почему существование других браузеров в это примере меня не интересует подскажите что сделал не так добавил a="#" <a="#" onclick=setvalue("при мер")>жми тут</a> браузер IE ругаться на скрипт перестал, но и сам скрипт работать не начал, текст не добавляется
Ё-моё, народ, надо просто onclick в кавычки заключить и все... Код (Text): <a="#" onclick="setvalue('при мер')">жми тут</a>