Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z onchange w input file w ie
marrrecki
post 17.01.2008, 11:19:31
Post #1





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Witam. MAm problem. zrobiłem sobie funkcję, która po wybraniu jednego pliku poprzez input file tworzy mi w divie kolejny input. wszystko działa pod operą i ff, ale pod ie niestety nie chce.
Oto ta funkcja:
  1. function DodajElement()
  2. {
  3. var element = document.createElement('input');
  4. element.setAttribute('type', 'file');
  5. element.setAttribute('onchange', 'javascript:DodajElement();');
  6.  
  7. var liczba = 0;
  8. var ilosc = document.forms['newsy_edit'].elements.length;
  9. for (var i = 0; i < ilosc; i++ )
  10. {
  11. if (document.forms['newsy_edit'].elements[i].type == 'file')
  12. {
  13. liczba += 1;
  14. }
  15. }
  16.  
  17. element.setAttribute('name', 'file-'+(liczba+1));
  18.  
  19. element.style.display = "block";
  20. element.style.margin= "2px";
  21.  
  22. var div = document.getElementById('dodatkowe');
  23. div.appendChild(element);
  24.  
  25. //alert(element.onchange);
  26.  
  27. document.forms["newsy_edit"].dodatkowe_ilosc.value = liczba;
  28. }


Czy ktoś może mi powiedzieć o co biega?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
marrrecki
post 21.01.2008, 11:39:23
Post #2





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Korzystam z szablonów smarty, ale te nie mają żadnego wpływu na działanie skryptów. Zastosowałem się do porady @Johna, ale to tez nic nie dało.

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <title>{$lang_TITLE}</title>
  3. <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8">
  4. <meta name="author" content="jetshop">
  5. <meta name="Keywords" content="{$lang_META_KEYWORDS}">
  6. <meta name="description" content="{$lang_META_DESCRIPTION}">
  7. <meta name="robots" content="noodp">
  8. <link rel="shortcut icon" href="templates/{$current_template}/images/favicon.ico">
  9. <link rel="stylesheet" type="text/css" href="templates/{$current_template}/styles/stylesheet.css">
  10. <script language="JavaScript" src="js/overlib_mini.js"></script>
  11. <script language="JavaScript" src="js/kalendarz.js"></script>
  12. {literal}
  13. <script language="javascript" type="text/javascript" src="tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
  14. <script language="javascript" type="text/javascript">
  15. tinyMCE.init({
  16. mode : "textareas",
  17. elements : "ajaxfilemanager",
  18. theme : "advanced",
  19. plugins : "table,advhr,advimage,advlink,flash,paste,fullscreen,noneditable,contextmenu",
  20. theme_advanced_buttons1_add_before : "newdocument,separator",
  21. theme_advanced_buttons1_add : "fontselect,fontsizeselect",
  22. theme_advanced_buttons2_add : "separator,forecolor,backcolor,liststyle",
  23. theme_advanced_buttons2_add_before: "cut,copy,paste,pastetext,pasteword,separator,",
  24. theme_advanced_buttons3_add_before : "tablecontrols,separator",
  25. theme_advanced_buttons3_add : "flash,advhr,separator,fullscreen",
  26. theme_advanced_toolbar_location : "top",
  27. theme_advanced_toolbar_align : "left",
  28. extended_valid_elements : "hr[class|width|size|noshade]",
  29. file_browser_callback : "ajaxfilemanager",
  30. paste_use_dialog : false,
  31. theme_advanced_resizing : true,
  32. theme_advanced_resize_horizontal : true,
  33. apply_source_formatting : true,
  34. force_br_newlines : true,
  35. force_p_newlines : false,
  36. relative_urls : true
  37. });
  38.  
  39. var ajaxfilemanagerurl = "../../plugins/ajaxfilemanager/ajaxfilemanager.php";
  40. function ajaxfilemanager(field_name, url, type, win) {
  41. switch (type) {
  42. case "image":
  43. ajaxfilemanagerurl += "?type=img";
  44. break;
  45. case "media":
  46. ajaxfilemanagerurl += "?type=media";
  47. break;
  48. case "flash": //for older versions of tinymce
  49. ajaxfilemanagerurl += "?type=media";
  50. break;
  51. case "file":
  52. ajaxfilemanagerurl += "?type=files";
  53. break;
  54. default:
  55. return false;
  56. }
  57. var fileBrowserWindow = new Array();
  58. fileBrowserWindow["file"] = ajaxfilemanagerurl;
  59. fileBrowserWindow["title"] = "Ajax File Manager";
  60. fileBrowserWindow["width"] = "782";
  61. fileBrowserWindow["height"] = "440";
  62. fileBrowserWindow["close_previous"] = "no";
  63. tinyMCE.openWindow(fileBrowserWindow, {
  64. window : win,
  65. input : field_name,
  66. resizable : "yes",
  67. inline : "yes",
  68. editor_id : tinyMCE.getWindowArg("editor_id")
  69. });
  70.  
  71. return false;
  72. }
  73. </script>
  74. <script type="text/javascript">
  75. function DodajElement()
  76. {
  77. var element = document.createElement('input');
  78. element.setAttribute('type', 'file');
  79. element.setAttribute('onChange', 'javascript:DodajElement();');
  80.  
  81. var liczba = 0;
  82. var ilosc = document.forms['newsy_edit'].elements.length;
  83. for (var i = 0; i < ilosc; i++ )
  84. {
  85. if (document.forms['newsy_edit'].elements[i].type == 'file')
  86. {
  87. liczba += 1;
  88. }
  89. }
  90.  
  91. element.setAttribute('name', 'file-'+(liczba+1));
  92.  
  93. element.style.display = "block";
  94. element.style.margin= "2px";
  95.  
  96. var div = document.getElementById('dodatkowe');
  97. div.appendChild(element);
  98.  
  99. document.forms["newsy_edit"].dodatkowe_ilosc.value = liczba;
  100. }
  101. </script>
  102. {/literal}
  103. </head>
  104. <body onload="javascript:DodajElement();">


A tak wygląda div o id dodatkowe:
  1. <div id="dodatkowe"><input type="hidden" name="dodatkowe_ilosc"></div>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 15:58