2016-12-15 13 views
0

Привет ребята ниже два фрагмента из моего кода:кнопка Javascript OnClick не работает

  case 'i_new_call': 
     { 
      if (oSipSessionCall) { 
       // do not accept the incoming call if we're already 'in call' 
       e.newSession.hangup(); // comment this line for multi-line support 
      } 
      else { 
       oSipSessionCall = e.newSession; 
       oSipSessionCall.setConfiguration(oConfigCall); 
       uiBtnReceive('Answer'); 
       btnCall.disabled = true; 
       btnHangUp.disabled = false; 

       startRingTone(); 

       var sRemoteNumber = (oSipSessionCall.getRemoteFriendlyName() || 'unknown'); 
       txtCallStatus.innerHTML = "<i>Incoming call from [<b>" + sRemoteNumber + "</b>]</i>"; 
       showNotifICall(sRemoteNumber); 
      } 
      break; 
     } 

Моя функция является:

function uiBtnReceive() { 

      var btnAccept = document.getElementsByName("Accept"); 
      btnAccept.onclick = function() { sipCall(bDisableVideo ? 'call-audio' : 'call-audiovideo'); }; 
     } 
    } 

Кнопка:

<input type="button" name="Accept" style="margin: 0; vertical-align:middle; height: 100%;" class="btn btn-primary" value="Accept"/> 

Проблема заключается в том что когда я создаю кнопку с идентификатором btnAccept, она работает. Но когда я пытаюсь использовать имя элемента, он не запускается. Любая идея, как я могу это решить.

+0

'getElementsByName («Accept»)' всегда возвращает массив всех элементов с атрибутом 'имя =«Accept»', можно указать только взять первое, как это: 'getElementsByName («Accept») [0] ' – iHasCodeForU

+0

да я так благодарен за комментарий –

ответ

0

getElementsByName возвращает array из elements вам нужно будет использовать index, чтобы получить object и прикрепить event.

function uiBtnReceive() { 
    var btnAccept = document.getElementsByName('Accept')[0]; 
    btnAccept.onclick = function() { sipCall(bDisableVideo ? 'call-audio' : 'call-audiovideo'); }; 

} 
+0

oooo man большое спасибо))))))))) Я просто понял)))))))))))))))))))))))) Еще раз спасибо –