for...in
Скрипт предназначен для того ,что бы пользователь ввел значение объекта,а программа бы пересчитала все properties этого объекта и вывела их на на укран в при помощ созднанного элемента "текст".Но у меня проблема,скрипт этого не делает. На сколько я понимаю проблема в несовпадении типов объекта,тоесть почему то он не воспринимает введенное имя объкта и не обрабатывает это значение в функции show(obj,objName). можете подсказать почему так происходит и как сделать так,что бы функции принимала это значение как аргумент?
Вот скрипт с хтмл: <html> <head> <script> function showP(obj,objName) { var result = ""; //var obj=document.getElementById("objV").value; //var objName=document.getElementById("objNameV").value; for(var i in obj){ result += objName + "." + i + "=" + obj[i] + "\n"; } return result; } var k=1; function creatT(){ //var objS=function(){ //obj1 = document.getElementById("objV").value; //return obj1; //} var objS = document.getElementById("objV").value; alert(objS); var objNameS=document.getElementById("objNameV").value; alert(objNameS); while(k==1){ var txt=document.createTextNode(showP(objS,objNameS)); //var txt=document.createTextNode("nnn"); document.getElementById('nnn').appendChild(txt); k=2; alert("done1"); } alert("done"); } </script> </head> <body> <div id="nnn" style="width:300"> </div> <form> <input type="button" value="Creat" onClick="creatT()"> <input id="objV" type="text" size="10"> <input id="objNameV" type="text" size="10"> </form> </body> </html> |
Убедительная просьба: перечитывайте свои сообщения после постинга. Есть ведь кнопочка "ред.".
Да, и запятые, на самом деле, придумали не для того, чтобы детей в школе мучать, а чтобы текст можно было читать. |
Ну вроде бы как отредактировал теперь можете подсказать?
|
ага. есть еще теги для размещения КОДА.
так как сижу из инет клуба, то мне очень неприятно читать такой листинг. ЗЫ. подсказать не могу, так как "из инет-клуба сижу" |
Тем не менее ,уважаемый Gvosd, я на вас расчитую, вы мне не в малом помогли до этого случая. Поэтому я на вас расчитую)
|
Нет все таки немного протупил заработался))не работает
|
в файрфоксе работает, в опере нет.
чо-то я без пол-лииттры не врубаюсь((( сори |
Цитата:
|
Да а вот в лисе он выдает совсем не то что я от него ожидал.Вообще рекомендую посмотреть в ие
|
Гость,
Цитата:
Хранитель Света, Вы можете обращаться к элементам объекта, если имя элемента - переменная, через квадратные скобки. Поскольку все объекты на самом деле являются дочерними к объекту window, вы можете воспользоваться таким кодом, который, впрочем, не будет работать с объектами, объявленными локально: function getObjectPropertiesByName(objName) { result = ""; // Если запрошен не window if(objName != "window") { // Если такой объект существует if(typeof window[objName] == "object") { // Получаем его свойства, как элемента объекта window for(var i in window[objName]) { result += objName +"."+ i +" = "+ window[objName][i] + ";\n"; } } else { return false; } } else { // Иначе, выводим свойства объекта window for(var i in window) { result += objName +"."+ i +" = "+ window[i] + ";\n"; } } return result; } var myTestObj = { some: "thing", hello: "world" } alert(getObjectPropertiesByName("myTestObj")); У вас не должно возникнуть проблем в адаптации под свои нужды. Кроме того, идею можно развить, позволив, например, получать свойства дважды вложенных объектов, например "document.body". |
Часовой пояс GMT +3, время: 03:32. |