【问题标题】:Feedback form not displaying反馈表不显示
【发布时间】:2010-01-17 01:53:54
【问题描述】:

我正在尝试构建一个 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';
        }
    }
}

【问题讨论】:

  • 控制台有错误吗?另外,您可以使用框架(JQuery、Prototype 或 MooTools)将 open() 和 close() 缩短为一行。

标签: javascript html ajax feedback


【解决方案1】:

我刚试了你的代码,发现了问题,你有一个带href的img标签

href 属性用于锚点,而不是 img

为了让图片改变href到onclick

另外,将 open() 函数的名称更改为其他名称,open 已经是 javascript 中的函数。

即。

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

function show(id) { ...

【讨论】:

  • 在它不起作用大约 20 分钟后,我意识到 open() 已经被使用并更改了它......我刚刚开始在这里提出问题,然后才意识到这一点。
猜你喜欢
  • 2020-01-08
  • 2018-07-02
  • 2016-05-26
  • 2020-09-09
  • 2011-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-03
相关资源
最近更新 更多