2010-01-17 129 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

控制檯中的任何錯誤?作爲一個附註,您可以使用框架(JQuery,Prototype或MooTools)將open()和close()縮短爲一行。 – 2010-01-17 01:57:07

+0

不,沒有錯誤。 好的。 – 2010-01-17 01:58:45

回答

2

我只是想你的代碼,發現問題,你有一個img標籤與A HREF

href屬性是爲一個錨,而不是一個圖像

使這項工作的圖像變化href onclick

此外,將open()函數的名稱更改爲其他內容,open已經是javascript中的函數。

即。

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

function show(id) { ... 
+0

啊...謝謝! – 2010-01-17 02:15:13

+0

經過大約20分鐘的無法工作後,我意識到open()已經被使用並改變了它......在我意識到這一點之前,我剛纔在這裏開始了這個問題。 – 2010-01-17 02:16:32