Вот это мой код,хотелось бы получить советы по поводу:
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> |