2016-11-19 6 views
-2

Я новичок в программировании, я создал следующую функцию Javascript с нуля. Но, он не выполняет correctly.It есть некоторые ошибки, но я не могу очистить errors.please помочь мне,javascript function if, else условия

<script type = "text/javascript"> 
     function GetSelectedRow(lnk) { 
      var row = lnk.parentNode.parentNode; 
      if (row.cells[0].innerHTML == "checkbox") 
      { 
       var ItemCode = row.cells[1].innerHTML; 
       var ItemName = row.cells[2].innerHTML; 
       var Unit = row.cells[3].innerHTML; 
       var Price = row.cells[4].innerHTML; 
       var StockQty = row.cells[5].innerHTML; 
       document.getElementById('<%=TxtICode.ClientID %>').value = ItemCode; 
       document.getElementById('<%=TxtIName.ClientID %>').value = ItemName; 
       document.getElementById('<%=DropDownUnit.ClientID %>').value = Unit; 
       document.getElementById('<%=TxtPrice.ClientID %>').value = Price; 
       document.getElementById('<%=TxtStockQty.ClientID %>').value = StockQty; 
       return false; 

      } 
      else (row.cells[0].innerHTML != checkbox) 
      { 
       var ItemCode = row.cells[0].innerHTML; 
       var ItemName = row.cells[1].innerHTML; 
       var Unit = row.cells[2].innerHTML; 
       var Price = row.cells[3].innerHTML; 
       var StockQty = row.cells[4].innerHTML; 
       document.getElementById('<%=TxtICode.ClientID %>').value = ItemCode; 
       document.getElementById('<%=TxtIName.ClientID %>').value = ItemName; 
       document.getElementById('<%=DropDownUnit.ClientID %>').value = Unit; 
       document.getElementById('<%=TxtPrice.ClientID %>').value = Price; 
       document.getElementById('<%=TxtStockQty.ClientID %>').value = StockQty; 
       return false; 
      } 

     } 
    </script> 
+3

Добро пожаловать в переполнение стека! Пожалуйста, примите [тур], посмотрите вокруг и прочитайте [помощь], в частности [* Как задать хороший вопрос?] (/ Help/how-to-ask) –

+0

'else' doesn ' t принимает любые условия, это просто 'else {...}', как если бы предыдущее значение было 'false' в вышеприведенном условии, оно будет выполнять код внутри' else'. 'else if (..) {...}' принимает условие, но в зависимости от того, что вы пытаетесь сделать, вы не захотите его использовать. –

+0

'else (row.cells [0] .innerHTML! = Checkbox)' должно быть 'else if ...' –

ответ

-1

Если вы, в самом деле, хотите проверить второе условие, если первое является ложным затем,

else (row.cells[0].innerHTML != checkbox)

должно быть:

else if(row.cells[0].innerHTML != checkbox)

но ваше else состояние такое же, как вы r if условие (кроме того, что вы забыли котировки около checkbox в else), поэтому, если row.cells[0].innerHTML == "checkbox", то ваш код никогда не попадет в ветвь else. Вы, скорее всего, вообще не хотите никакого условия в другом.

Кроме того, если ваша функция головы вниз один из этих двух путей (истина/ложь), и они оба возвращают false то кажется, что либо ваш используют, что для выхода из функции, которые были бы не нужны, так как ваша функция заканчивается после того, как заявление if в любом случае или вы хотите, чтобы false всегда было возвращаемым значением, что не имеет никакого смысла.

Наконец, примерно половина кода в вашей истинной ветви идентична коду в вашей ложной ветви. Этот код должен работать независимо от того, что, так что просто напишите его один раз, за ​​пределами обоих ветвей, и пусть ваши ветви if просто беспокоятся о том, что отличается при каждом обстоятельстве (DRY: «Do not Repeat Yourself») является лучшей практикой в ​​любом программировании язык.)

function GetSelectedRow(lnk) { 

    var ItemCode, ItemName, Unit,Price, StockQty; 
    var row = lnk.parentNode.parentNode; 

    if (row.cells[0].innerHTML == "checkbox") { 
     ItemCode = row.cells[1].innerHTML; 
     ItemName = row.cells[2].innerHTML; 
     Unit = row.cells[3].innerHTML; 
     Price = row.cells[4].innerHTML; 
     StockQty = row.cells[5].innerHTML; 

    } else { 
     ItemCode = row.cells[0].innerHTML; 
     ItemName = row.cells[1].innerHTML; 
     Unit = row.cells[2].innerHTML; 
     Price = row.cells[3].innerHTML; 
     StockQty = row.cells[4].innerHTML; 
    } 

    document.getElementById('<%=TxtICode.ClientID %>').value = ItemCode; 
    document.getElementById('<%=TxtIName.ClientID %>').value = ItemName; 
    document.getElementById('<%=DropDownUnit.ClientID %>').value = Unit; 
    document.getElementById('<%=TxtPrice.ClientID %>').value = Price; 
    document.getElementById('<%=TxtStockQty.ClientID %>').value = StockQty; 

} 
+0

Вероятно, это должно быть 'else',' checkbox' не определен. Похоже, что ОП забыл сделать это в строку. –

+0

Извините, я допустил некоторые ошибки. Ошибочно я набрал else вместо else, если – Ram

+0

Я хочу использовать ту же функцию Javascript при нажатии кнопки SELECT из двух GridView. Первый GridView имеет поле CheckBox в [0] -м столбце, а второй GridView - нет. – Ram