Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Совеместить скрипт и html форму (https://javascript.ru/forum/dom-window/59375-sovemestit-skript-i-html-formu.html)

unkind 08.11.2015 17:50

Совеместить скрипт и html форму
 
Здравствуйте!
Не могу совместить скрипт с формой.
Скрипт рабочий, ниже в форме пытаюсь этот скрипт применить,в том ли я направлении?
var courses = [0, 100, 200, 250, 300]; //цены за академический час для 0,1,..,4 курсов.
var otch = 30000; //цена за отчётность.
var en = 1.2; //коэффициент увеличения цены за курс на английском языке
 
var course  = prompt("Введите номер выбранного вами курса (1-4)");
var time    = prompt("Введите продолжительность курса (в академич. часах)");
var lan    = prompt("Введите язык курса (ru или en)");
var otchet  = confirm("Нужна ли отчётность? (ОК - да; Отмена - нет)");
 
var price = time * courses[course] + (otchet ? otch : 0);
 
if (lan = "en") price *= en;
 
document.write("Цена курса будет равна " + price +" рублей");

<HTML>
  <HEAD>  
  <script language="JavaScript">
/*
var en = 1.2; //коэффициент увеличения цены за курс на английском языке
 function getCours(){
var c1  = document.getElementById("c1").value;
var c2  = document.getElementById("c2").value;
var c3  = document.getElementById("c3").value;
var c4  = document.getElementById("c4").value;

//---------------------------//

var t1  = document.getElementById("t1").value;
var t2  = document.getElementById("t2").value;
var t3  = document.getElementById("t3").value;
var t4  = document.getElementById("t4").value;
//---------------------------//
var l1  = document.getElementById("l1").value;
var l2  = document.getElementById("l2").value;
//---------------------------//
var ot1   = document.getElementById("ot1").value;
var ot2   = document.getElementById("ot2").value;
//---------------------------//
var price = time * courses[course] + (otchet ? otch : 0);*/
  </script>
  </HEAD>
  <BODY>
  <FORM name="form1">
  <div>Выберите курс: </div>
  <br>
  <input type="checkbox" name="course" id="c1" value="300" onClick="getCours();">pyccкий<br>
  <input type="checkbox" name="course" id="c2"  value="200" onClick="getCours();">английский<br>
  <input type="checkbox" name="course" id="c3"  value="100" onClick="getCours();">французский<br>
   <input type="checkbox" name="course" id="c4"  value="150" onClick="getCours();">немецкий<br>
  <hr>
  <div>Выберите продолжительность курса (в академ.часах) : </div>
  <input type="checkbox" name="time" id="t1"  value="10">10<br>
  <input type="checkbox" name="time" id="t2"  value="20">20<br>
  <input type="checkbox" name="time" id="t3" value="30">30<br>
   <input type="checkbox" name="time" id="t4" value="50">50<br>
   <hr>
  <div>Выберите язык преподавания курса : </div>
  <input type="checkbox" name="lan" id="l1">Русский<br>
  <input type="checkbox" name="lan" id="l2">Английский<br>
     <hr>
  <div>Нужна ли отчетность? : </div>
  <input type="checkbox" name="otchet" id="ot1" value="3000">Да<br>
  <input type="checkbox" name="otchet" id="ot2" value="0">Нет<br>
  <hr>
    <input type="button" id="rezult" value="Рассчитать" onClick=""><br>
	<hr>
	<br>
	<br>
	<div>Стоимость : </div>
	<input type="text" size="15" >
  </FORM><hr>

  </BODY>
  </HTML>

EmperioAf 08.11.2015 17:55

попробуйте поместить ваш скрипт перед закрывающимся тегом body

unkind 08.11.2015 17:58

EmperioAf,
так скрипт рабочий,я ломаю голову над тем как его к форме привязать

EmperioAf 08.11.2015 18:08

Цитата:

Сообщение от unkind
как его к форме привязать

ок, сравните два вывода в примере ниже:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>ГГ</title>
</head>
<body>
  <script>
  alert(document.querySelector('#gg'));
  </script>
<div id="gg">ГГ</div>
<script>
  alert(document.querySelector('#gg'));
</script>
</body>
</html>

unkind 08.11.2015 18:20

EmperioAf,
хм,не понимаю вас,что вы пытаетесь мне показать,про вывод результата я понял, а как это к моему коду относиться?

EmperioAf 08.11.2015 18:34

Цитата:

Сообщение от unkind
что вы пытаетесь мне показать

я пытаюсь показать вам, что ваше
document.getElementById

не работает, т.к. ваш скрипт прописан внутри head

unkind 08.11.2015 18:39

EmperioAf,
понял,
как это:
var courses = [0, 100, 200, 250, 300]; //цены за академический час для 0,1,..,4 курсов.
var otch = 30000; //цена за отчётность.
var en = 1.2; //коэффициент увеличения цены за курс на английском языке
 
var course  = prompt("Введите номер выбранного вами курса (1-4)");
var time    = prompt("Введите продолжительность курса (в академич. часах)");
var lan    = prompt("Введите язык курса (ru или en)");
var otchet  = confirm("Нужна ли отчётность? (ОК - да; Отмена - нет)");
 
var price = time * courses[course] + (otchet ? otch : 0);
 
if (lan = "en") price *= en;
 
document.write("Цена курса будет равна " + price +" рублей");


в мою форму прилепить?

EmperioAf 08.11.2015 19:44

Прост вставил скрипты перед закрывающимся тегом body и вроде работает. Вы этого хотели? :)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>ГГ</title>
<style>

* {
  margin:0;
  padding: 0;
  outline: none;
}


</style>
</head>

<body>
  <FORM name="form1">
  <div>Выберите курс: </div>
  <br>
  <input type="checkbox" name="course" id="c1" value="300" onClick="getCours();">pyccкий<br>
  <input type="checkbox" name="course" id="c2"  value="200" onClick="getCours();">английский<br>
  <input type="checkbox" name="course" id="c3"  value="100" onClick="getCours();">французский<br>
   <input type="checkbox" name="course" id="c4"  value="150" onClick="getCours();">немецкий<br>
  <hr>
  <div>Выберите продолжительность курса (в академ.часах) : </div>
  <input type="checkbox" name="time" id="t1"  value="10">10<br>
  <input type="checkbox" name="time" id="t2"  value="20">20<br>
  <input type="checkbox" name="time" id="t3" value="30">30<br>
   <input type="checkbox" name="time" id="t4" value="50">50<br>
   <hr>
  <div>Выберите язык преподавания курса : </div>
  <input type="checkbox" name="lan" id="l1">Русский<br>
  <input type="checkbox" name="lan" id="l2">Английский<br>
     <hr>
  <div>Нужна ли отчетность? : </div>
  <input type="checkbox" name="otchet" id="ot1" value="3000">Да<br>
  <input type="checkbox" name="otchet" id="ot2" value="0">Нет<br>
  <hr>
    <input type="button" id="rezult" value="Рассчитать" onClick=""><br>
    <hr>
    <br>
    <br>
    <div>Стоимость : </div>
    <input type="text" size="15" >
  </FORM><hr>

<script language="JavaScript">
var courses = [0, 100, 200, 250, 300]; //цены за академический час для 0,1,..,4 курсов.
var otch = 30000; //цена за отчётность.
var en = 1.2; //коэффициент увеличения цены за курс на английском языке
  
var course  = prompt("Введите номер выбранного вами курса (1-4)");
var time    = prompt("Введите продолжительность курса (в академич. часах)");
var lan    = prompt("Введите язык курса (ru или en)");
var otchet  = confirm("Нужна ли отчётность? (ОК - да; Отмена - нет)");
  
var price = time * courses[course] + (otchet ? otch : 0);
  
if (lan = "en") price *= en;
  
document.write("Цена курса будет равна " + price +" рублей");

var en = 1.2; //коэффициент увеличения цены за курс на английском языке
 function getCours(){
var c1  = document.getElementById("c1").value;
var c2  = document.getElementById("c2").value;
var c3  = document.getElementById("c3").value;
var c4  = document.getElementById("c4").value;
 
//---------------------------//
 
var t1  = document.getElementById("t1").value;
var t2  = document.getElementById("t2").value;
var t3  = document.getElementById("t3").value;
var t4  = document.getElementById("t4").value;
//---------------------------//
var l1  = document.getElementById("l1").value;
var l2  = document.getElementById("l2").value;
//---------------------------//
var ot1   = document.getElementById("ot1").value;
var ot2   = document.getElementById("ot2").value;
//---------------------------//
var price = time * courses[course] + (otchet ? otch : 0);
}
  </script>

</body>
</html>

unkind 08.11.2015 20:05

EmperioAf,
почти)результат нужен исходя из выбранных чекбоксов)

EmperioAf 08.11.2015 21:21

Цитата:

Сообщение от EmperioAf
<input type="button" id="rezult" value="Рассчитать" onClick=""><br>

Цитата:

Сообщение от unkind
результат нужен исходя из выбранных чекбоксов)

ну onclick то пустой


Часовой пояс GMT +3, время: 11:34.