Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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.
Ответить с цитированием
  #2 (permalink)  
Старый 11.03.2015, 17:35
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от poltos-15
<input type="submit"
Инпут типа submit отсылает форму на сервер, в курсе, да?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 12.03.2015, 12:22
Новичок на форуме
Отправить личное сообщение для poltos-15 Посмотреть профиль Найти все сообщения от poltos-15
 
Регистрация: 10.03.2015
Сообщений: 2

да я в курсе а как надо правильно?
Ответить с цитированием
  #4 (permalink)  
Старый 12.03.2015, 12:34
Аспирант
Отправить личное сообщение для Нубопрогер Посмотреть профиль Найти все сообщения от Нубопрогер
 
Регистрация: 26.05.2014
Сообщений: 72

в js, где коммит //return false, убрать //
и в-общем, для отмены submit'a используется
return false
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести значения value из select в input Jeick9 Events/DOM/Window 28 29.11.2017 08:57
При выполнении скрипта страницу перекидывает вверх! polearmik Events/DOM/Window 7 26.10.2014 18:44
События при изменении содержимого input sean88 jQuery 2 17.09.2014 16:42
Добавить значения из CheckBox в Input tohenson Общие вопросы Javascript 1 18.05.2014 19:09
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37