Показать сообщение отдельно
  #1 (permalink)  
Старый 22.02.2013, 22:09
Интересующийся
Отправить личное сообщение для Lansaid Посмотреть профиль Найти все сообщения от Lansaid
 
Регистрация: 22.02.2013
Сообщений: 16

Вопрос про text и enter
Вот это мой код,хотелось бы получить советы по поводу:
1. почему при нажатии на enter в поле text вся форма пропадает (интуитивно понимаю,что связано с отправкой,но почему при этом слетает вся разметка?) и как сделать чтобы она не пропадала.
2. хочется чтобы при нажатии фокус передавался в форму рядом с кнопкой, которую нажали, и было можно корректировать значения.
3. Общие советы по поводу кода: так можно, нельзя, автору еще читать и читать, забыть про javascript



Код:
<!DOCTYPE html>
	<head>
	<meta http-equiv="Content-Type" charset="utf-8"></meta>
	<link rel="stylesheet" type="text/css" href="count.css"/>
</head>
<body>
	<div id = "sumTb">
	<input type="button" value="Добавить строчку" onClick="addRow( )"/>
	<p>Сумма, р</p>
	<form name="countForm">
	<table cellspacing = 0 id="countTable">
  	<tbody>
	</tbody>
	</table>	
	</form>
	<div>Итого:<span id="total"></span></div>
	</div>
	
</body>
<script type="text/javascript">
var tb1 = document.getElementById('countTable');

	
function addRow()	{
var tr = tb1.tBodies[0].insertRow(0);
var  td1 = document.createElement('TD');
var  td2 = document.createElement('TD');


    
  
    tr.appendChild(td1);
    tr.appendChild(td2);
    td1.innerHTML = '<input type="text" size="15" name="formNumber" >';
    td2.innerHTML = '<input type="button" value="Сохранить" onclick="checkResult (this)" name ="saveButti"> ';
    var  inp1 = document.forms[0].formNumber;  
    var  but1 = document.forms[0].saveButti;

  document.forms[0].formNumber.focus();
   
  

    
 
checkResult = function ( ) {
     var  inp1 = document.forms[0].formNumber;  
     var but1 = document.forms[0].saveButti;


 var trParent1 = document.forms[0].formNumber.parentNode;
 var childTD2 = trParent1.firstChild;


 

    


    var number = childTD2.value;

    if (isNaN(number) ) {
   alert ('Вы ввели не число. Исправьте, пожалуйста!');
  childForm.focus ();
} else if (number=="") {
    alert ('Вы не вввели число. Исправьте, пожалуйста!');
    childForm.focus();	
}
 else {
    saveResult(this); }
   
}

saveResult=function() {
   var  inp1 = document.forms[0].formNumber;  
   var  but1 = document.forms[0].saveButti;
    var numberi = inp1.value;
   
    td1.innerHTML=numberi;
    td2.innerHTML='<a name="link">Удалить</a>';
    tr.onclick=correctNumber;
    Сalculate();
}

correctNumber = function () {
    var numberu = parseFloat(td1.innerHTML);  
    alert(numberu);
    td1.innerHTML = '<input type="text" size="15" name="formNumber" >';
    document.forms[0].formNumber.value=numberu;
    document.forms[0].formNumber.focus();
    td2.innerHTML='<input type="button" value="Сохранить" onclick="checkResult (this)" name ="saveButti"> ';

}


Сalculate = function (){
    var totalSum= document.getElementById("total");
    var qty = 0;
    var i;
    for (i=1; i<=tb1.tBodies[0].rows.length; i++) {
    qty += parseFloat(tb1.tBodies[0].rows[i-1].cells[0].innerHTML);

 }
  totalSum.innerHTML=qty; 
}


} //от большой функции
</script></html>
Ответить с цитированием