Показать сообщение отдельно
  #1 (permalink)  
Старый 11.03.2015, 16:45
Новичок на форуме
Отправить личное сообщение для poltos-15 Посмотреть профиль Найти все сообщения от poltos-15
 
Регистрация: 10.03.2015
Сообщений: 2

при выполнении скрипта все значения в input удаляются
Проблема в том когда скрипт выполняется он заново перезагружает страницу а не сохраняет все значения... и результат работы скрипта - тоже не выводится в input а показывает и сразу очищает. Я пока не силен в js но в php проблема решалась когда дописал атрибут в форму action = "<?=$_SERVER['PHP_SELF']?>"
<!DOCTYPE html>
<html>
<head lang="en">

<meta charset="UTF-8">
<title></title>
<!--<script src="script.js"></script>-->
</head>
<body>

<!--<?php header('Content-Type: text/html; charset=utf-8'); ?>-->
<form name="reg" method="post" action="index.html" onsubmit="someFunc()" >

<p>Первое число: <br />
X = <input name = "number11" type = "text" size="4" style="text-align: center"> +
<input name="number12" type = "text" size="4" style="text-align: center">i</p>

Оператор: <br />
<select name = "operator" >
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>



<p>Второе число: <br />
Y = <input name="number21" type="text" size="4" style="text-align: center"> +
<input name="number22" type="text" size="4" style="text-align: center">j</p>
<p><input type="submit" value="Считать" ></p>
результат:<input id="rezult" >
</form>




<script>
var gt; //document.getElementById('rezult');
//проверка данных



function checkData(data) {

var d = '';

var expr = new RegExp('^\\D+$','g');

if((data.match(expr)) == null){
if((data.indexOf(",")) != -1){
d = data.replace("," , ".");
return Number(d);
}
else return Number(data);
}
return false;
//else return (data = undefined);
}

function someFunc() {
var output1 = '', output2 = '';


var num11 = checkData((document.forms["reg"].number11.value), 10);
var num21 = checkData((document.forms["reg"].number21.value), 10);
var num12 = checkData((document.forms["reg"].number12.value), 10);
var num22 = checkData((document.forms["reg"].number22.value), 10);
var operator = document.forms["reg"].operator.value;

alert(num11 + ";" + num12 + ";" + num21 + ";" + num22 + ";" + operator);

//выполнение операции
switch (operator) {

case '+':
output1 = (num11 + num21);
output2 = (num12 + num22);
break;

case '-':
output1 = (num11 - num21);
output2 = (num12 - num22);
break;

case '*':
output1 = ((num11 * num21) - (num12 * num22));
output2 = ((num11 * num22) + (num12 * num21));
break;

case '/':

//деление на 0
if ((Math.sqrt(num21 * num22)) != 0) {


output1 = ((num11 * num21) + (num12 * num22)) / ((Math.pow(num21, 2) + Math.pow(num22, 2)));
output2 = ((num12 * num21) - (num11 * num22)) / ((Math.pow(num21, 2) + Math.pow(num22, 2)));


break;
}
else {
alert("Деление на 0");
break;
}

default:
alert('An unknown error');

}

var zn = '+';

if (output2 < 0) {
zn = '';
}

gt = 'Z=' + output1 + zn + output2 + 'j';


//rezult.value = gt;
//document.write(gt);
alert(gt);
document.getElementById('rezult').value = gt;
}


</script>





</body>
</html>

Последний раз редактировалось poltos-15, 12.03.2015 в 14:09.
Ответить с цитированием