| 
	
	
		
		
			
			 
				при выполнении скрипта все значения в 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.
				
				
			
		
		
	
		
		
	
	
	 |