2014-11-23 3 views
1

Я могу открыть модальное окно при нажатии на тег привязки. Однако функция onClick, которую я запускаю, похоже, не вызывает вызова. Я хочу, чтобы модальное окно всплывало и добавляло к нему изображение через Javascript. Ниже приводится применимый код:Запуск функции javascript при открытии модального окна в css

HTML

<a href="#openModal" class="submitBtn" onclick="return displayPhoto();">Submit</a> 

<div id="openModal" class="modalDialog"> 
    <div> 
     <table> 
      <tr height="500px"> 
       <td id="photo"></td> 
       <td id="description"> 
       </td> 
      </tr> 
     </table> 
    </div> 
</div> 

CSS

.modalDialog { 
    position: fixed; 
    font-family: Arial, Helvetica, sans-serif; 
    top: 0; 
    right: 0; 
    bottom: 0; 
    left: 0; 
    background: rgba(0,0,0,0.8); 
    z-index: 99999; 
    opacity:0; 
    -webkit-transition: opacity 400ms ease-in; 
    -moz-transition: opacity 400ms ease-in; 
    transition: opacity 400ms ease-in; 
    pointer-events: none; 
} 

.modalDialog:target { 
    opacity:1; 
    pointer-events: auto; 
} 

.modalDialog > div { 
    width: 600px; 
    position: relative; 
    margin: 5% auto; 
    padding: 5px 20px 13px 20px; 
    border-radius: 10px; 
    background: #fff; 
    background: -moz-linear-gradient(#fff, #999); 
    background: -webkit-linear-gradient(#fff, #999); 
    background: -o-linear-gradient(#fff, #999); 
} 

#photo{ 
    width:auto; 
} 

Javascript

function displayPhoto(){ 
    window.alert(11); 
    document.getElementById('photo').innerHTML = "<img src="images/characters/gandalf.jpg" />"; 
    return true; 
} 

ответ

0

Вот JSFiddle. Как отметил @Maverick, у вас была строка с вашей линией getElementById.

http://jsfiddle.net/tz1att9j/5/

function displayPhoto(){ 
    alert(11); 
    document.getElementById('photo').innerHTML = "<img src='images/characters/gandalf.jpg' />"; 
    return true; 
} 
+1

Это сработало! Огромное спасибо!! – powanakaab

+0

Путь к похищению представителя Маверика. – AlienWebguy

+0

Я не пытался украсть. У меня на самом деле была работа JSFiddle, и мой ответ был составлен, когда я увидел, что его ответ вошел. Я только хотел поблагодарить его, так как он опубликовал фрагмент за несколько секунд до меня. – Scott

3

Вы должны ЭСКАТО е ваши котировки в innerHTML

document.getElementById('photo').innerHTML = "<img src=\"images/characters/gandalf.jpg\" />"; 
+0

Это ничего не меняет, она все еще не показывает изображение. – powanakaab

+0

Работает отлично @powanakaab http://jsfiddle.net/t8v9omqe/ - убедитесь, что ваша функция displayPhoto() 'определена до привязки' onclick' - поместите ее в голову, если вы используете jsfiddle. – AlienWebguy

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