2015-07-23 4 views
0

Я работаю в приложении, где я использую картинку в качестве ссылки, чтобы показать скрыть функциональность. Но моя проблема в том, что всякий раз, когда я нажимаю на ссылку, функция show hide не работая на первый щелчок, на второй клик он работает .Как решить it.Here мой кодФункция Javascript не работает при первом нажатии

<div id="primaryLabel" class="box"> 
    <div class="bottomBorder"> 
     <h4>Personal Information</h4> 
    </div> 
    <a href="#" onclick="open_new();"><img style="border:0;margin-left: 97%;" src="<%=request.getContextPath()%>/images/edit.png" width="20" height="19" title="Click to edit"></a> 
    <div class="box-content"> 
     <table> 
      <tr> 
       <th><img style="border:0;" src="<%=request.getContextPath()%>/images/home.png" width="20" height="19" title="Address of residence"><span style='color: #FF0000; display: inline;'></span></th> 
       <td> 
        <label for="address1" id="address1ForLabel"> 
         <%=address1 %> 
        </label> 
       </td> 
      </tr> 
      <tr> 
       <th><img style="border:0;" src="<%=request.getContextPath()%>/images/city.png" width="20" height="19" title="City"><span style='color: #FF0000; display: inline;'></span></th> 
       <td> 
        <label for="city" id="cityForLabel"> 
         <%=city %> 
        </label> 
       </td> 
      </tr> 
      <tr> 
       <th><img style="border:0;" src="<%=request.getContextPath()%>/images/phone.jpg" width="20" height="19" title="Primary Phone"><span style='color: #FF0000; display: inline;'></span></th> 
       <td> 
        <label for="primary phone" id="primaryPhoneForLabel"> 
         <%=primaryPhone %> 
        </label> 
       </td> 
      </tr> 
     </table> 
    </div> 
</div> 

Это раздел HTML я использую обычный Java Script

function open_new() { 

    if (document.getElementById('chk').checked == true) { 
     document.getElementById('chk').checked = false; 
    } else { 
     document.getElementById('chk').checked = true; 
    } 
    if (document.getElementById('chk').checked == true) { 
     document.getElementById('contentToShow').style.display = 'block'; 
     document.getElementById('primaryLabel').style.display = 'none'; 
    } else { 
     document.getElementById('contentToShow').style.display = 'none'; 
    } 
} 

этот флажок

Эта функция open_new() не работает после первого щелчка, может ли кто-нибудь помочь мне решить ???

+1

пожалуйста, вы можете добавить ссылку jsfiddle, если это возможно для более выяснения вопроса aksed –

+0

Put 'предупреждение («Это работает!»);' В верхней части функции и расскажите нам, что происходит. – leaf

+0

Я не могу найти флажок с идентификатором 'chk' в вашем коде –

ответ

1

Когда вы нажимаете изображение, тег href сначала добавляет '#' к URL-адресу, затем функция запускается. Но добавив «#» к URL, страница обновляется, а open_new() не загружается.

  • Попробуйте изменить href = "#" на: href = "javascript: open_new()".

  • Или удалите фиксаторы и установите onclick на изображение.

+0

он работает иногда когда-то, когда я нажимаю на ссылку div dissapears – lucifer

+0

Что вы имеете в виду, поставив onclick на изображение самого себя – lucifer

+0

должно работать – Wouter

Смежные вопросы