我试图构建一个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'; } } }
我刚刚尝试了你的代码,发现了问题,你有一个带有href的img标签
href属性用于锚定,而不是img
另外,将open()函数的名称更改为其他名称,open已经是javascript中的一个函数。
<img id="feedback_link" src="images/feedback.gif" onclick="show('feedback_form_wrapper');" /> function show(id) { ...