Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 03.07.2013, 13:47
Новичок на форуме
Отправить личное сообщение для Angelo4ek88 Посмотреть профиль Найти все сообщения от Angelo4ek88
 
Регистрация: 03.07.2013
Сообщений: 7

сейчас попробую ваш вариант, надеюсь получится.. но скорее всего без пояснений я не разберусь))
Ответить с цитированием
  #12 (permalink)  
Старый 03.07.2013, 13:49
Новичок на форуме
Отправить личное сообщение для Angelo4ek88 Посмотреть профиль Найти все сообщения от Angelo4ek88
 
Регистрация: 03.07.2013
Сообщений: 7

Посмотрел...
ДА ладно!!!! не может быть так просто...

РАБОТАЕТ!!!! ВЫ просто меня спасили! СПС Огромное!
Ответить с цитированием
  #13 (permalink)  
Старый 03.07.2013, 13:53
Новичок на форуме
Отправить личное сообщение для Angelo4ek88 Посмотреть профиль Найти все сообщения от Angelo4ek88
 
Регистрация: 03.07.2013
Сообщений: 7

рони,

Еще раз спасибо... А могли бы вы пояснить то как работает ваша функция? и почему именно это в ней используется... для меня это просто шаманский-непонятный текст..

function del_row()
{
    var checks =  document.querySelectorAll('input:checked');
    for (var i = 0, check; check = checks[i]; i++) {
    var tr = check.parentNode.parentNode;
    var parent = tr.parentNode
    parent.removeChild(tr);
 }
}
Ответить с цитированием
  #14 (permalink)  
Старый 03.07.2013, 15:01
Новичок на форуме
Отправить личное сообщение для Angelo4ek88 Посмотреть профиль Найти все сообщения от Angelo4ek88
 
Регистрация: 03.07.2013
Сообщений: 7

SOS!! help!!!
Я конечно глубоко извиняюсь но проблема такая.
Вот код который получился.. он прекрасно работает в "Chrome", но оказалось, что необходимо открывать эту страничку через IE(Internet Explorer) а там, на удивление, функция удаления строк не работает((
говорит "Ошибка на странице" и ссылается вроде как на эту строчку:

var checks =  document.querySelectorAll('input:checked');


Вот сам код страницы:
<!DOCTYPE html>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<head>
<title>SAP</title>

<script language="javascript" type="text/javascript">
var char1 = '', mass = new Array(), lastn = '',
    fastn = '', middlen = '', s4 = 0, s41 = 0, f = false;
var fio1 = "";

// Функция отлова нажатых клавиш с клавы
function press(event)
{
     if(event.keyCode == "13"){ 
          mass[mass.length] = char1;
          //fio()
          char1 = '';
          f = true;
          insRow();
 }else{ 
          char1 += String.fromCharCode(event.keyCode);
 } 
}    

// функция для доставания ФИО из вводимой строки
function fio()
{

   for (i = 0; i < char1.length; i ++ )
   {
     if (char1.charAt(i) == '!')
      {
         s4 = s4 + 1;
         s41 = i
       }

      if (s4 == 14 && i != s41) // фамилия
      {
         lastn += char1.charAt(i)
      }

      if (s4 == 15 && i != s41) // имя
      {
         fastn += char1.charAt(i)
      }

      if (s4 == 16 && i != s41) // отчество
      {
         middlen += char1.charAt(i)
      }

   }


fio1 = lastn + " " + fastn + " " + middlen;
}

// функция вставки строки в таблицу
function insRow()
{
   var x = document.getElementById('MyTable').insertRow(0);
   var k = x.insertCell(0);
   var y = x.insertCell(1);
   var z = x.insertCell(2);
   k.innerHTML = '<td><input type="checkbox" id=checkboxN"' + ((mass.length) - 1) + '"></td>';
   y.innerHTML = "номер";
   if(f){z.innerHTML = mass[mass.length-1];
                f = false;
   }else{z.innerHTML = fio1;}
}

function demo()
{

   char1 = '!!8!!!!!!1!0!!!!!PAULSEN!OLAF!!1965-10-12!0!!1!!!!!!0!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!';
   if (char1.charAt(0) == '!' && char1.charAt(1) == '!' && char1.charAt(2) == '8' && char1.charAt(3) == '!' && char1.charAt(4) == '!' && char1.charAt(5) == '!')
  {
     mass[mass.length] = char1;
     fio();
    char1 = '';
    insRow();
  }
}


// функция для удаления 
function del_row()
{
    var checks =  document.querySelectorAll('input:checked');
    for (var i = 0, check; check = checks[i]; i++) {
    var tr = check.parentNode.parentNode;
    var parent = tr.parentNode
    parent.removeChild(tr);
 }
}

// функция для отправки данных на сервер
var finishstr = "";
function sendtosap(event)
{
for (i=0;i<(mass.length); i ++ ) 
{ 
    finishstr += mass[i]; 
    if (i==mass.length-1)
    {
    finishstr += '@';
    }
    else
    {
    finishstr += '$';
    }
    } 
    var r = confirm("You sure send to SAP?")
    if (r == true){
    document.f1.h1.value = finishstr;
    document.location.reload(true);
    }else{
    finishstr = "";
    }
}



</script>
</head>
<body onkeypress = "press(event)">
<H1>"SAP" sick list </H1>
<div id="header" style="background-color:#87CEFA;">
<INPUT TYPE="button" NAME="myButton" value=" добавить готовую строчку"
   onClick="demo()">
   
 <form  id="fms" method="get" action="">
    <DIV style="position: absolute; top: 130px; left: 20px;
                         background-color: #F0FFFF ; color: navy">
            <table id="MyTable" border="1">
            </table>
            <input name="" type="button" value="del_check_row" onclick="del_row()">
    </DIV>
 </form>  
 
<form name = "f1" method="POST" action="sapevent:longtext">
      <DIV style="position: absolute; top: 80px; left: 1000px;
                         background-color: #7FFFD4 ; color: navy">
           <INPUT TYPE="submit" value="Send text to SAP" name="cc" onclick = "sendtosap(event) ">
       <br /><input type="hidden" value="" name="h1"/>
    </DIV>
</form>




</body>
</html>


Что делать?? подскажите пожалуйста..

Последний раз редактировалось Angelo4ek88, 03.07.2013 в 15:08.
Ответить с цитированием
  #15 (permalink)  
Старый 03.07.2013, 15:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Angelo4ek88, пост 8 обновлён -- функция находит инпуты и если чекед удаляет строку в которой этот инпут находится -- если checkbox гдето ещё есть кроме таблицы уточните сами где их искать. http://learn.javascript.ru/searching-elements-dom

function del_row() {

    var nodeList = document.getElementsByTagName('input');
    var array = Array.prototype.slice.call(nodeList);
    for (var i = 0; i < array.length; i++) {
        if (array[i].checked) {
            var tr = array[i].parentNode.parentNode;
            var parent = tr.parentNode
            parent.removeChild(tr);
        }
    }

}

Последний раз редактировалось рони, 03.07.2013 в 15:27.
Ответить с цитированием
  #16 (permalink)  
Старый 03.07.2013, 16:09
Новичок на форуме
Отправить личное сообщение для Angelo4ek88 Посмотреть профиль Найти все сообщения от Angelo4ek88
 
Регистрация: 03.07.2013
Сообщений: 7

Сообщение от рони Посмотреть сообщение
Angelo4ek88, пост 8 обновлён -- функция находит инпуты и если чекед удаляет строку в которой этот инпут находится -- если checkbox гдето ещё есть кроме таблицы уточните сами где их искать. http://learn.javascript.ru/searching-elements-dom

function del_row() {

    var nodeList = document.getElementsByTagName('input');
    var array = Array.prototype.slice.call(nodeList);
    for (var i = 0; i < array.length; i++) {
        if (array[i].checked) {
            var tr = array[i].parentNode.parentNode;
            var parent = tr.parentNode
            parent.removeChild(tr);
        }
    }

}

-т.е. я понял так, что данный код работает в IE только начиная с версии 8. так? а для версий более ранних можно ли что нить придумать?

--checkbox кроме таблицы, больше нигде нет... А как тогда сделать кнопку "Выделить все", чтоб она выделяла сразу все checkbox??

-- и еще вопрос.. каким методом в таблицу можно передать данные из сервера??..
Ответить с цитированием
  #17 (permalink)  
Старый 03.07.2013, 16:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Angelo4ek88,
Сообщение от Angelo4ek88
можно ли что нить придумать?
Учебник
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перемещение строк таблицы в Firefox barcelona jQuery 17 23.02.2009 15:41
ДИнамическое изминение таблицы Legi Элементы интерфейса 1 08.02.2009 04:10
Автоматическая подсветка строк таблицы mihha Элементы интерфейса 5 01.02.2009 01:28
Фиксированный заголовок таблицы ilshat Элементы интерфейса 6 20.12.2008 00:35
Динамическое изменение границ между столбцами таблицы srgg Элементы интерфейса 3 10.08.2008 14:40