2010-01-17 5 views
0

Я пытаюсь создать форму обратной связи ajax, но у меня возникают проблемы с ее отображением. Изображение обратной связи отображается, но когда я нажимаю, ничего не происходит.Форма обратной связи не отображается

Моя форма:

<div id="feedback"> 
    <img id="feedback_link" src="images/feedback.gif" href="javascript:open('feedback_form_wrapper');" /> 

     <div id="feedback_form_wrapper" style="display:none;"> 
    <a class="close light" style="float:right;margin-right:5px;" href="javascript:open('feedback_form_wrapper');" >CLOSE</a> 
    <form id="feedback_form" action="." onsubmit="submit(); return false;"> 
     <div style="margin: 8px; width: 184px; float: left;"> 
     <select name="subject"> 
      <option value="bug">Found A Bug</option> 
      <option value="typo">Found A Typo</option> 
      <option value="other">Other</option> 
     </select> 
     Email:<br/> 
     <input type="text" class="email" name="email" /><br/> 
     <textarea name="body" id="feedback_body" style="height: 180px; margin-top: 8px;">Enter Feedback Here.</textarea> 
    <input type="submit" class="input_submit_button" value="submit" /> 
     </div> 
    </form> 
     </div> 

    </div> 

JavaScript:

function open(id){ 
    if (document.getElementById) { // DOM3 = IE5, NS6 
     document.getElementById(id).style.display = 'block'; 
    } 
    else { 
     if (document.layers) { // Netscape 4 
      document.id.display = 'block'; 
     } 
     else { // IE 4 
      document.all.id.style.display = 'block'; 
     } 
    } 
} 

function close(id){ 
    if (document.getElementById) { // DOM3 = IE5, NS6 
     document.getElementById(id).style.display = 'none'; 
    } 
    else { 
     if (document.layers) { // Netscape 4 
      document.id.display = 'none'; 
     } 
     else { // IE 4 
      document.all.id.style.display = 'none'; 
     } 
    } 
} 
+0

Любые ошибки в консоли? И в качестве побочной заметки вы могли бы сократить функции open() и close() до одной строки, используя Framework (JQuery, Prototype или MooTools). –

+0

Нет ошибок. Хорошо. –

ответ

2

Я просто попытался ваш код и нашли проблему, у вас есть IMG тег с HREF

HREF атрибута является для анкера, а не img

, чтобы сделать эту работу с изменением изображения href до onclick

также, измените имя функции open() на что-то еще, open уже является функцией в javascript.

ie.

<img id="feedback_link" src="images/feedback.gif" onclick="show('feedback_form_wrapper');" /> 

function show(id) { ... 
+0

А ... Спасибо !!! –

+0

Примерно через 20 минут он не работает, я понял, что open() уже был использован и изменил его ... Я только что начал вопрос, прежде чем я это понял. –

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