Несколько javascript на одной странице

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

Конфликт скриптов на одной странице. Как разрешить?

#31 7 августа 2013 в 21:51

ничего нет.

lokanaft
то есть ничего нет? это же, как понимаю функции вывода значений в ячейки в зависимости от .sqm.value и .P.value

вот весь код калькулятора скрипт + форма калькулятора

  1. <script type="text/javascript" language="JavaScript">
  2.  
  3.  
  4. function usage()
  5. {
  6. if (isNaN(document.form.sqm.value) | isNaN(document.form.P.value))
  7. {
  8. alert("Введите число. В десятичных дробях нужно использовать точку вместо запятой.")}
  9. else
  10. {
  11. document.form.tiles.value=document.form.sqm.value;
  12. document.form.main_run.value=document.form.P.value;
  13. document.form.cross_tee.value=document.form.sqm.value*2.9;
  14. document.form.longer.value=Math.ceil(document.form.sqm.value*0.2);
  15. document.form.union.value=Math.ceil(document.form.sqm.value*1.7);
  16. document.form.hanger.value=Math.ceil(document.form.sqm.value*0.7);
  17. document.form.hanger_t.value=Math.ceil(document.form.sqm.value*0.7);
  18. document.form.screw1.value=Math.ceil(document.form.sqm.value*10);
  19. document.form.screw2.value=Math.ceil(document.form.sqm.value*23);
  20. document.form.band.value=document.form.sqm.value*1.2;
  21. document.form.shpak.value=document.form.sqm.value*0.4;
  22. document.form.anchor.value=Math.ceil(document.form.sqm.value*0.7);
  23. document.form.dubel.value=document.form.main_run.value*2;
  24. }}
  25.  
  26. </script>
  27.  
  28. <center>
  29. <center>
  30. <form name="form" style="width:420px">
  31. <table class="my_table">
  32. <tbody><tr>
  33. <td>Введите площадь потолка</td>
  34. <td align="center"><input type="text" size="10" maxlength="10" name="sqm"></td>
  35. <td>м<sup>2</sup></td>
  36. </tr>
  37. <tr>
  38. <td>Введите периметр потолка</td>
  39. <td align="center"><input type="text" size="10" maxlength="10" name="P"></td>
  40. <td>м</td>
  41. </tr>
  42. <tr align="center"><td colspan="5">
  43. </td></tr>
  44. <tr>
  45. <td colspan="2" align="center"><input type="button" name="submit" value="Рассчитать" onclick="usage()"></td>
  46.  
  47. </tr>
  48. </tbody></table>
  49. <table class="my_table">
  50. <tbody><tr align="left">
  51. <td>Гипсокартонный
  52. лист (м<sup>2</sup>)</td>
  53. <td><input type="text1" size="12" maxlength="12" name="tiles"></td>
  54. </tr>
  55. <tr align="left">
  56. <td>Профиль
  57. направляющий ПН-28 (п.м.)</td>
  58. <td><input type="text1" size="12" maxlength="12" name="main_run"></td>
  59. </tr>
  60. <tr align="left">
  61. <td>Профиль
  62. потолочный ПП-60 (п.м.)</td>
  63. <td><input type="text1" size="12" maxlength="12" name="cross_tee"></td>
  64. </tr>
  65. <tr align="left">
  66. <td>Удлинитель для
  67. ПП-профилей П-60 (шт.)</td>
  68. <td><input type="text1" size="12" maxlength="12" name="longer"></td>
  69. </tr>
  70. <tr align="left">
  71. <td>Соединитель
  72. одноуровневый (шт.)</td>
  73. <td><input type="text1" size="12" maxlength="12" name="union"></td>
  74. </tr>
  75. <tr align="left">
  76. <td>Подвес для
  77. ПП-профилей (шт.)</td>
  78. <td><input type="text1" size="12" maxlength="12" name="hanger"></td>
  79. </tr>
  80. <tr align="left">
  81. <td>Тяга к подвесу
  82. (шт.)</td>
  83. <td><input type="text1" size="12" maxlength="12" name="hanger_t"></td>
  84. </tr>
  85. <tr align="left">
  86. <td>Шуруп для
  87. соединения профилей
  88. (шт.)</td>
  89. <td><input type="text1" size="12" maxlength="12" name="screw1"></td>
  90. </tr>
  91. <tr align="left">
  92. <td>Шуруп 30мм (для
  93. крепления ГКЛ) (шт.)</td>
  94. <td align="center"><input type="text1" size="12" maxlength="12" name="screw2"></td>
  95. </tr>
  96. <tr align="left">
  97. <td>Лента для швов
  98. (п.м.)</td>
  99. <td><input type="text1" size="12" maxlength="12" name="band"></td>
  100. </tr>
  101. <tr align="left">
  102. <td>Шпаклевка для
  103. швов (кг)</td>
  104. <td><input type="text1" size="12" maxlength="12" name="shpak"></td>
  105. </tr>
  106. <tr align="left">
  107. <td>Анкер для
  108. крепления к потолку (шт.)</td>
  109. <td><input type="text1" size="12" maxlength="12" name="anchor"></td>
  110. </tr>
  111.  
  112. <tr align="left">
  113. <td>Дюбель для
  114. крепления ПН-профиля
  115. (шт.)</td>
  116. <td><input type="text1" size="12" maxlength="12" name="dubel"></td>
  117. </tr>
  118. </tbody></table>
  119. </form></center>
#32 7 августа 2013 в 21:52
простите меня что целиком код вставляю на целую страницу, но уже 9 часов пытаюсь понять почему вышеуказанный скрипт не работает одновременно с этим:

  1. <form name="form" action="" style="width:580px">
  2. <table class="my_table">
  3. <tbody><tr align="left">
  4.  
  5. <td>
  6.  
  7. Окна</td><td>
  8. <select style="width:300px" name="x1">
  9. <option value="0.85">Тройной стеклопакет </option>
  10. <option value="1">Двойной стеклопакет</option>
  11. <option value="1.27">Обычное (двойное) остекление</option>
  12. </select>
  13. </td> </tr><tr align="left"> <td>
  14. Стены</td><td>
  15. <select style="width:300px" name="x2">
  16. <option value="0.85">Хорошая теплоизоляция</option>
  17. <option value="1">Два кирпича или 150 мм утеплителя</option>
  18. <option value="1.27">Плохая теплоизоляция</option>
  19. </select>
  20. </td> </tr><tr align="left"> <td>
  21. Соотношение площадей окон и пола</td><td>
  22. <select style="width:300px" name="x3">
  23. <option value="0.8">10%</option>
  24. <option value="0.9">20%</option>
  25. <option value="1">30%</option>
  26. <option value="1.1">40%</option>
  27. <option value="1.2">50%</option>
  28. </select>
  29. </td> </tr><tr align="left"> <td>
  30. Температура снаружи помещения</td><td>
  31. <select style="width:300px" name="x4">
  32. <option value="0.7">-10C</option>
  33. <option value="0.9">-15C</option>
  34. <option value="1.1">-20C</option>
  35. <option value="1.3">-25C</option>
  36. <option value="1.5">-30C</option>
  37. <option value="1.7">-35C</option>
  38. </select>
  39. </td> </tr><tr align="left"> <td>
  40. Число стен выходящих наружу</td><td>
  41. <select style="width:300px" name="x5">
  42. <option value="1">Одна</option>
  43. <option value="1.2">Две</option>
  44. <option value="1.3">Три</option>
  45. <option value="1.4">Четыре</option>
  46. </select>
  47. </td> </tr>
  48.  
  49. <tr align="left"> <td>
  50. Тип помещения над рассчитываемым</td><td>
  51. <select style="width:300px" name="x6">
  52. <option value="0.8">Обогреваемое помещение</option>
  53. <option value="0.9">Теплый чердак</option>
  54. <option value="1">Холодный чердак</option>
  55. </select>
  56. </td> </tr><tr align="left"> <td>
  57. Высота помещения</td><td>
  58. <select style="width:300px" name="x7">
  59. <option value="1">2,5 метра</option>
  60. <option value="1.05">3 метра</option>
  61. <option value="1.1">3,5 метра</option>
  62. <option value="1.15">4 метра</option>
  63. <option value="1.2">4,5 метра</option>
  64. </select>
  65. </td> </tr><tr align="left"> <td>
  66. Площадь помещения </td><td>
  67. <input style="width:290px" type="text" name="x8">
  68. </td> </tr>
  69.  
  70. <tr align="center"> <td colspan="2">
  71. <input type="button" name="Button" value="Рассчитать" onclick="
  72. yyy.value=0.1*x1.value*x2.value*x3.value*x4.value*x5.value*x6.value*x7.value*x8.value+' кВт';
  73. ttt.value=(0.1*x1.value*x2.value*x3.value*x4.value*x5.value*x6.value*x7.value*x8.value)*1.2+' кВт'
  74. ">
  75. </td> </tr><tr id="my_color" align="left"> <td>
  76. Теплопотери</td><td>
  77. <input style="width:290px" type="text1" name="yyy">
  78.  
  79. </td> </tr><tr id="my_color" align="left"> <td>
  80. Теплопроизводительность котла</td><td> <input style="width:290px" type="text1" name="ttt"></td>
  81.  
  82. </tr>
  83. </tbody></table>
  84. </form>
#33 7 августа 2013 в 21:55
Smith, если есть минутка взгляните, пожалуйста, на прикрепленные скрипты и формы в 31 и 32 сообщении
#34 7 августа 2013 в 22:01
Я, даже не глядя, вижу, что у вас на одной странице две формы с одним именем. Сделайте одну форму.
#35 7 августа 2013 в 22:12

Сделайте одну форму

Странник
смысл того что я делаю в том, что 9 разных калькуляторов выводятся на странице через описание
то есть:
описание
калькулятор {ФАЙЛ=calc1.php}
описание
кальклятор калькулятор {ФАЙЛ=calc2.php}

в calc1-9.php поместил скрипты+формы

в итоге 4 калькулятора из девяти работают на странице а 5 нет
причем каждый из пяти не работающих отказывается работать с каждым из 9 по парно (простите за каламбур. пытался выяснить может конфликт из-за одного конкретного калькулятора)

таким образом, оставить одну форму не представляется возможным, так как все 9 форм абсолютно разные
но у них одинаковые имена name="form" и еще есть form name="calc"

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

подскажите, пожалуйста, ошибка получения переменных происходит из-за одинаковых имен форм или из-за переменных, или из-за того и того сразу sad
#36 7 августа 2013 в 22:20

из-за одинаковых имен форм

*beez*
Переименуйте формы
#37 7 августа 2013 в 22:21
Я же предлагал вам засесть за учебники, но вы расчитываете, что все сделают за вас, да еще за один вечер.

Почитайте, для чего служат формы, как они отправляют данные (методы GET и POST) имя принимающего скрипта на сервере, как эти данные обработать на сервере и что с ними сделать дальше. Вы всего этого не знаете, но хотите, чтоб вмиг все заработало. Не заработает, если вы четко не представляете себе механизов обмена данными между формой и сервером.
#38 7 августа 2013 в 22:38
на данном этапе благодарю всех, кто поддержал участием

удаляюсь переименовывать формы, вносить правки в скрипты в соответствии с переименованием форм, а также в стили, так как они после переименования форм отвалятся. попробую по одному, потом отпишусь о результате

ув, Странник, я с Вами согласен полностью, ведь в каждом деле главное — подход. А как у самоучки может быть правильный подход? (вспомните себя когда только начинали разбираться в том, как вообще работают сайты) Пытаюсь анализировать, читаю много, но, пока знания систематизируются, нужно время. Между тем, в данный момент есть надежда, что переименование форм и соответствующие правки скриптов принесут результат. Если нет, то начну с азов, как Вы рекомендуете

зы. ни в коем случае не хочу чтобы сделали за меня, если бы так, предложил бы оплатить работу программеру. тут хотел получить наводку о чем читать и в каком месте править, так как только сегодня узнал что джава и джаваскрипт-это не одно и тоже😊да и до этого что и делал в скриптах, так скорость слайдера менял=)

Всем хорошего настроения и удачного $eo!
#39 7 августа 2013 в 23:27
Странник, переименовал формы и внес правки в скрипты. 8 из 9ти заработали smile
9й дает ошибку вот в этом месте
  1.  
  2. <tr id="trd" style="display: ;" align="left">
  3. <td>Длина покрытия(м.)</td>
  4. <td><input type="text" name="_a" style="width:190px" value="" onfocus="if (this.value==) this.value=;" onblur="if (this.value==) this.value=;"></td>
  5.  
  6. Uncaught SyntaxError: Unexpected token ) (repeated 2 times)
  7.  
  8.  
по ходу ) пропущена, но в других также. может такое быть что предыдущие как то "затирают" ) в последнем или такого не бывает?
#40 7 августа 2013 в 23:54
lokanaft, Благодарю Вас за поддержку и знания!
переименование форм, классов и правки в скриптах решили проблему совместимости 9 скриптов на странице
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.